{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "bae226b4",
   "metadata": {},
   "outputs": [],
   "source": [
    "from pathlib import Path\n",
    "import cantera as ct\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "import math as math\n",
    "import numpy as np\n",
    "import pandas as pd"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8134bed4",
   "metadata": {},
   "source": [
    "Stoichiometric mixture, phi = 1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "e8dc8f84",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Inlet Temperature in Kelvin and Inlet Pressure in Pascals\n",
    "# In this case we are setting the inlet T and P to room temperature conditions\n",
    "To = 300\n",
    "Po = 101325\n",
    "\n",
    "# Define the gas-mixutre and kinetics\n",
    "# In this case, we are choosing a GRI3.0 gas\n",
    "#gas = ct.Solution(\"gri30.yaml\")\n",
    "gas = ct.Solution('Jerzembeck.yaml')\n",
    "\n",
    "# Create a stoichiometric CH4/Air premixed mixture\n",
    "#gas.set_equivalence_ratio(1.0, \"CH4\", {\"O2\": 1.0, \"N2\": 3.76})\n",
    "gas.set_equivalence_ratio(1, 'IXC8H18', 'O2:12.5, N2:47')\n",
    "gas.TP = To, Po"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "aa5afe47",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Domain width in metres\n",
    "width = 0.02\n",
    "\n",
    "# Create the flame object\n",
    "flame = ct.FreeFlame(gas, width=width)\n",
    "\n",
    "# Define tolerances for the solver\n",
    "flame.set_refine_criteria(ratio=3, slope=0.1, curve=0.1)\n",
    "\n",
    "# Define logging level\n",
    "loglevel = 1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "5ffc96c2",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "************ Solving on 8 point grid with energy equation enabled ************\n",
      "\n",
      "..............................................................................\n",
      "Attempt Newton solution of steady-state problem...    failure. \n",
      "Take 10 timesteps     1.068e-05        6.2\n",
      "Attempt Newton solution of steady-state problem...    failure. \n",
      "Take 10 timesteps     0.0002737      4.717\n",
      "Attempt Newton solution of steady-state problem...    failure. \n",
      "Take 10 timesteps     1.082e-05      6.854\n",
      "Attempt Newton solution of steady-state problem...    failure. \n",
      "Take 10 timesteps     0.0001849      4.881\n",
      "Attempt Newton solution of steady-state problem...    failure. \n",
      "Take 10 timesteps       0.00316      3.071\n",
      "Attempt Newton solution of steady-state problem...    success.\n",
      "\n",
      "Problem solved on [9] point grid(s).\n",
      "Expanding domain to accommodate flame thickness. New width: 0.04 m\n",
      "##############################################################################\n",
      "Refining grid in flame.\n",
      "    New points inserted after grid points 0 1 2 3 4 5 6 \n",
      "    to resolve AXC5H10 C2H C2H2 C2H3 C2H3CHO C2H3CO C2H4 C2H5 C2H5O C2H5O2 C2H6 C3H2 C3H3 C3H4XA C3H4XP C3H5O C3H5XA C3H5XT C3H6 C3H8 C4H10 C4H6 C4H7 C4H8X1 C5H10X1 C5H9 C6H11 C6H12X1 CH CH2 CH2CCH2OH CH2CHO CH2CO CH2GSG CH2O CH2OH CH3 CH3CHO CH3CO CH3COCH2 CH3COCH3 CH3O CH3O2 CH3O2H CH3OH CH4 CN CO CO2 CXC8H17 H H2 H2O H2O2 HCCO HCN HCNO HCO HNCO HNO HO2 HOCHO HOCN IC4H8O2HXT IXC3H5CHO IXC3H5CO IXC3H6CO IXC3H7 IXC3H7O2 IXC4H10 IXC4H6OH IXC4H7 IXC4H7O IXC4H7OH IXC4H8 IXC4H9 IXC4H9O2 IXC5H9 IXC8H18 N N2 N2O NCO NEOXC5H11 NH NH2 NH3 NO NO2 NXC3H7 NXC3H7O2 O O2 OH PXC4H9 PXC4H9O2 T TC4H8O2HXI TXC4H9 TXC4H9O TXC4H9O2 XC7H13OXZ XXC7H13 YXC7H14 YXC7H15 velocity \n",
      "##############################################################################\n",
      "\n",
      "*********** Solving on 16 point grid with energy equation enabled ************\n",
      "\n",
      "..............................................................................\n",
      "Attempt Newton solution of steady-state problem...    failure. \n",
      "Take 10 timesteps     4.746e-06      6.997\n",
      "Attempt Newton solution of steady-state problem...    failure. \n",
      "Take 10 timesteps     8.109e-05      5.464\n",
      "Attempt Newton solution of steady-state problem...    failure. \n",
      "Take 10 timesteps     9.622e-06      6.549\n",
      "Attempt Newton solution of steady-state problem...    failure. \n",
      "Take 10 timesteps     4.871e-05       5.69\n",
      "Attempt Newton solution of steady-state problem...    failure. \n",
      "Take 10 timesteps     6.935e-05      5.702\n",
      "Attempt Newton solution of steady-state problem...    failure. \n",
      "Take 10 timesteps     8.229e-06      6.301\n",
      "Attempt Newton solution of steady-state problem...    success.\n",
      "\n",
      "Problem solved on [16] point grid(s).\n",
      "\n",
      "..............................................................................\n",
      "grid refinement disabled.\n",
      "\n",
      "******************** Solving with grid refinement enabled ********************\n",
      "\n",
      "..............................................................................\n",
      "Attempt Newton solution of steady-state problem...    success.\n",
      "\n",
      "Problem solved on [16] point grid(s).\n",
      "\n",
      "..............................................................................\n",
      "##############################################################################\n",
      "Refining grid in flame.\n",
      "    New points inserted after grid points 3 4 5 6 7 8 9 \n",
      "    to resolve AXC5H10 C2H C2H2 C2H3 C2H3CHO C2H3CO C2H4 C2H5 C2H5O C2H5O2 C2H6 C3H2 C3H3 C3H4XA C3H4XP C3H5O C3H5XA C3H5XT C3H6 C3H8 C4H10 C4H6 C4H7 C4H8X1 C5H10X1 C5H9 C6H11 C6H12X1 CH CH2 CH2CCH2OH CH2CHO CH2CO CH2GSG CH2O CH2OH CH3 CH3CHO CH3CO CH3COCH2 CH3COCH3 CH3O CH3O2 CH3O2H CH3OH CH4 CN CO CO2 CXC8H17 H H2 H2O H2O2 HCCO HCN HCNO HCO HNCO HNO HO2 HOCHO HOCN IC4H8O2HXT IXC3H5CHO IXC3H5CO IXC3H6CO IXC3H7 IXC3H7O2 IXC4H10 IXC4H6OH IXC4H7 IXC4H7O IXC4H7OH IXC4H8 IXC4H9 IXC4H9O2 IXC5H9 IXC8H18 N N2 N2O NCO NEOXC5H11 NH NH2 NH3 NO NO2 NXC3H7 NXC3H7O2 O O2 OH PXC4H9 PXC4H9O2 T TC4H8O2HXI TXC4H9 TXC4H9O TXC4H9O2 XC7H13OXZ XXC7H13 YXC7H14 YXC7H15 velocity \n",
      "##############################################################################\n",
      "\n",
      "..............................................................................\n",
      "Attempt Newton solution of steady-state problem...    failure. \n",
      "Take 10 timesteps     2.848e-05      5.985\n",
      "Attempt Newton solution of steady-state problem...    failure. \n",
      "Take 10 timesteps     2.027e-05      5.983\n",
      "Attempt Newton solution of steady-state problem...    success.\n",
      "\n",
      "Problem solved on [23] point grid(s).\n",
      "\n",
      "..............................................................................\n",
      "##############################################################################\n",
      "Refining grid in flame.\n",
      "    New points inserted after grid points 6 7 8 9 10 11 12 13 \n",
      "    to resolve AXC5H10 C2H C2H2 C2H3 C2H3CHO C2H3CO C2H4 C2H5 C2H5O C2H5O2 C2H6 C3H2 C3H3 C3H4XA C3H4XP C3H5O C3H5XA C3H5XT C3H6 C3H8 C4H10 C4H6 C4H7 C4H8X1 C5H10X1 C5H9 C6H11 C6H12X1 CH CH2 CH2CCH2OH CH2CHO CH2CO CH2GSG CH2O CH2OH CH3 CH3CHO CH3CO CH3COCH2 CH3COCH3 CH3O CH3O2 CH3O2H CH3OH CH4 CN CO CO2 CXC8H17 H H2 H2O H2O2 HCCO HCN HCNN HCNO HCO HNCO HNO HO2 HOCH2O HOCHO HOCN IC4H8O2HXT IXC3H5CHO IXC3H5CO IXC3H6CO IXC3H7 IXC3H7O2 IXC4H10 IXC4H6OH IXC4H7 IXC4H7O IXC4H7OH IXC4H8 IXC4H9 IXC4H9O2 IXC5H9 IXC8H18 N N2 N2O NCO NEOXC5H11 NH NH2 NH3 NO NO2 NXC3H7 NXC3H7O2 O O2 OH PXC4H9 PXC4H9O2 T TC4H8O2HXI TXC4H9 TXC4H9O TXC4H9O2 XC7H13OXZ XXC7H13 YXC7H14 YXC7H15 velocity \n",
      "##############################################################################\n",
      "\n",
      "..............................................................................\n",
      "Attempt Newton solution of steady-state problem...    failure. \n",
      "Take 10 timesteps     0.0001139      5.006\n",
      "Attempt Newton solution of steady-state problem...    success.\n",
      "\n",
      "Problem solved on [31] point grid(s).\n",
      "\n",
      "..............................................................................\n",
      "##############################################################################\n",
      "Refining grid in flame.\n",
      "    New points inserted after grid points 8 9 10 11 12 13 14 15 16 17 27 28 \n",
      "    to resolve AXC5H10 C2H C2H2 C2H3 C2H3CHO C2H3CO C2H4 C2H5 C2H5O C2H5O2 C2H6 C3H2 C3H3 C3H4XA C3H4XP C3H5O C3H5XA C3H5XT C3H6 C3H8 C4H10 C4H6 C4H7 C4H8X1 C5H10X1 C5H9 C6H11 C6H12X1 CH CH2 CH2CCH2OH CH2CHO CH2CO CH2GSG CH2O CH2OH CH3 CH3CHO CH3CO CH3COCH2 CH3COCH3 CH3O CH3O2 CH3O2H CH3OH CH4 CN CO CO2 CXC8H17 H H2 H2O H2O2 HCCO HCN HCNO HCO HNCO HNO HO2 HOCHO HOCN IC4H8O2HXT IXC3H5CHO IXC3H5CO IXC3H6CO IXC3H7 IXC3H7O2 IXC4H10 IXC4H6OH IXC4H7 IXC4H7O IXC4H7OH IXC4H8 IXC4H9 IXC4H9O2 IXC5H9 IXC8H18 N N2 N2O NCO NEOXC5H11 NH NH2 NH3 NO NO2 NXC3H7 NXC3H7O2 O O2 OH PXC4H9 PXC4H9O2 T TC4H8O2HXI TXC4H9 TXC4H9O2 XC7H13OXZ XXC7H13 YXC7H14 YXC7H15 velocity \n",
      "##############################################################################\n",
      "\n",
      "..............................................................................\n",
      "Attempt Newton solution of steady-state problem...    failure. \n",
      "Take 10 timesteps     7.594e-05      5.374\n",
      "Attempt Newton solution of steady-state problem...    failure. \n",
      "Take 10 timesteps     2.027e-05       4.41\n",
      "Attempt Newton solution of steady-state problem...    success.\n",
      "\n",
      "Problem solved on [43] point grid(s).\n",
      "\n",
      "..............................................................................\n",
      "##############################################################################\n",
      "Refining grid in flame.\n",
      "    New points inserted after grid points 11 12 13 14 15 16 17 18 19 20 21 41 \n",
      "    to resolve AXC5H10 C2H C2H2 C2H3 C2H3CHO C2H3CO C2H4 C2H5 C2H5O C2H5O2 C2H6 C3H2 C3H3 C3H4XA C3H4XP C3H5O C3H5XA C3H5XT C3H6 C3H8 C4H10 C4H6 C4H7 C4H8X1 C5H10X1 C5H9 C6H11 C6H12X1 CH CH2 CH2CCH2OH CH2CHO CH2CO CH2GSG CH2O CH2OH CH3 CH3CHO CH3CO CH3COCH2 CH3COCH3 CH3O CH3O2 CH3O2H CH3OH CH4 CO CO2 CXC8H17 H H2 H2O H2O2 HCCO HCN HCNN HCNO HCO HNCO HNO HO2 HOCHO IC4H8O2HXT IXC3H5CHO IXC3H5CO IXC3H6CO IXC3H7 IXC3H7O2 IXC4H10 IXC4H6OH IXC4H7 IXC4H7O IXC4H7OH IXC4H8 IXC4H9 IXC4H9O2 IXC5H9 IXC8H18 N N2 N2O NCO NEOXC5H11 NH NH2 NH3 NO NO2 NXC3H7 NXC3H7O2 O O2 OH PXC4H9 PXC4H9O2 T TC4H8O2HXI TXC4H9 TXC4H9O TXC4H9O2 XC7H13OXZ XXC7H13 YXC7H14 YXC7H15 point 41 velocity \n",
      "##############################################################################\n",
      "\n",
      "..............................................................................\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Attempt Newton solution of steady-state problem...    failure. \n",
      "Take 10 timesteps     0.0001709      4.627\n",
      "Attempt Newton solution of steady-state problem...    success.\n",
      "\n",
      "Problem solved on [55] point grid(s).\n",
      "\n",
      "..............................................................................\n",
      "##############################################################################\n",
      "Refining grid in flame.\n",
      "    New points inserted after grid points 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 52 \n",
      "    to resolve AXC5H10 C2H C2H2 C2H3 C2H3CHO C2H3CO C2H4 C2H5 C2H5O C2H5O2 C2H6 C3H2 C3H3 C3H4XA C3H4XP C3H5O C3H5XA C3H5XT C3H6 C3H8 C4H10 C4H6 C4H7 C4H8X1 C5H10X1 C5H9 C6H11 C6H12X1 CH CH2 CH2CCH2OH CH2CHO CH2CO CH2GSG CH2O CH2OH CH3 CH3CHO CH3CO CH3COCH2 CH3COCH3 CH3O CH3O2 CH3O2H CH3OH CH4 CO CO2 CXC8H17 H H2 H2O H2O2 HCCO HCN HCNO HCO HNCO HNO HO2 HOCHO IC4H8O2HXT IXC3H5CHO IXC3H5CO IXC3H6CO IXC3H7 IXC3H7O2 IXC4H10 IXC4H6OH IXC4H7 IXC4H7O IXC4H7OH IXC4H8 IXC4H9 IXC4H9O2 IXC5H9 IXC8H18 N N2 N2O NCO NEOXC5H11 NH NH2 NH3 NO NO2 NXC3H7 NXC3H7O2 O O2 OH PXC4H9 PXC4H9O2 T TC4H8O2HXI TXC4H9 TXC4H9O2 XC7H13OXZ XXC7H13 YXC7H14 YXC7H15 velocity \n",
      "##############################################################################\n",
      "\n",
      "..............................................................................\n",
      "Attempt Newton solution of steady-state problem...    success.\n",
      "\n",
      "Problem solved on [71] point grid(s).\n",
      "\n",
      "..............................................................................\n",
      "##############################################################################\n",
      "Refining grid in flame.\n",
      "    New points inserted after grid points 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 \n",
      "    to resolve AXC5H10 C2H C2H2 C2H3 C2H3CHO C2H3CO C2H4 C2H5 C2H5O C2H5O2 C2H6 C3H2 C3H3 C3H4XA C3H4XP C3H5O C3H5XA C3H5XT C3H6 C3H8 C4H10 C4H6 C4H7 C4H8X1 C5H10X1 C5H9 C6H11 C6H12X1 CH CH2 CH2CCH2OH CH2CHO CH2CO CH2GSG CH2O CH2OH CH3 CH3CHO CH3CO CH3COCH2 CH3COCH3 CH3O CH3O2 CH3O2H CH3OH CH4 CO CO2 CXC8H17 H H2 H2O H2O2 HCCO HCN HCNO HCO HNCO HO2 HOCHO IC4H8O2HXT IXC3H5CHO IXC3H5CO IXC3H6CO IXC3H7 IXC3H7O2 IXC4H10 IXC4H6OH IXC4H7 IXC4H7O IXC4H7OH IXC4H8 IXC4H9 IXC4H9O2 IXC5H9 IXC8H18 N N2 NCO NEOXC5H11 NO NO2 NXC3H7 NXC3H7O2 O O2 OH PXC4H9O2 T TXC4H9 TXC4H9O2 XXC7H13 YXC7H14 YXC7H15 velocity \n",
      "##############################################################################\n",
      "\n",
      "..............................................................................\n",
      "Attempt Newton solution of steady-state problem...    success.\n",
      "\n",
      "Problem solved on [92] point grid(s).\n",
      "\n",
      "..............................................................................\n",
      "##############################################################################\n",
      "Refining grid in flame.\n",
      "    New points inserted after grid points 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 \n",
      "    to resolve AXC5H10 C2H C2H2 C2H3 C2H3CHO C2H3CO C2H4 C2H5 C2H5O2 C2H6 C3H2 C3H3 C3H4XA C3H4XP C3H5O C3H5XA C3H5XT C3H6 C3H8 C4H10 C4H6 C4H7 C4H8X1 C5H10X1 C6H12X1 CH CH2 CH2CCH2OH CH2CHO CH2CO CH2GSG CH2O CH2OH CH3 CH3CHO CH3CO CH3COCH2 CH3COCH3 CH3O CH3O2 CH3O2H CH3OH CH4 CO CXC8H17 H H2 H2O H2O2 HCCO HCN HCNO HCO HNCO HO2 HOCHO IC4H8O2HXT IXC3H5CHO IXC3H5CO IXC3H6CO IXC3H7 IXC3H7O2 IXC4H10 IXC4H6OH IXC4H7 IXC4H7O IXC4H7OH IXC4H8 IXC4H9 IXC4H9O2 IXC5H9 IXC8H18 N2 NEOXC5H11 NO2 NXC3H7 NXC3H7O2 O OH PXC4H9O2 T TXC4H9 TXC4H9O2 XXC7H13 YXC7H14 YXC7H15 velocity \n",
      "##############################################################################\n",
      "\n",
      "..............................................................................\n",
      "Attempt Newton solution of steady-state problem...    success.\n",
      "\n",
      "Problem solved on [123] point grid(s).\n",
      "\n",
      "..............................................................................\n",
      "##############################################################################\n",
      "Refining grid in flame.\n",
      "    New points inserted after grid points 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 \n",
      "    to resolve AXC5H10 C2H C2H2 C2H3 C2H4 C2H5 C2H5O2 C2H6 C3H2 C3H3 C3H4XA C3H4XP C3H5O C3H5XA C3H5XT C3H6 C4H10 C4H6 C4H7 C4H8X1 C5H10X1 CH CH2 CH2CHO CH2CO CH2GSG CH2OH CH3 CH3CHO CH3COCH2 CH3COCH3 CH3O CH3O2 CH3O2H CH4 CXC8H17 HCCO HCO HO2 HOCHO IC4H8O2HXT IXC3H5CHO IXC3H5CO IXC3H6CO IXC3H7 IXC3H7O2 IXC4H10 IXC4H6OH IXC4H7 IXC4H7O IXC4H8 IXC4H9 IXC4H9O2 IXC5H9 IXC8H18 NEOXC5H11 NXC3H7 NXC3H7O2 PXC4H9O2 TXC4H9 TXC4H9O2 XXC7H13 YXC7H14 YXC7H15 \n",
      "##############################################################################\n",
      "\n",
      "..............................................................................\n",
      "Attempt Newton solution of steady-state problem...    success.\n",
      "\n",
      "Problem solved on [167] point grid(s).\n",
      "\n",
      "..............................................................................\n",
      "##############################################################################\n",
      "Refining grid in flame.\n",
      "    New points inserted after grid points 42 43 44 45 46 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 \n",
      "    to resolve C2H5O2 CH3O CXC8H17 IXC3H7 IXC3H7O2 IXC4H9 IXC4H9O2 NXC3H7 NXC3H7O2 TXC4H9 TXC4H9O2 \n",
      "##############################################################################\n",
      "\n",
      "..............................................................................\n",
      "Attempt Newton solution of steady-state problem...    success.\n",
      "\n",
      "Problem solved on [189] point grid(s).\n",
      "\n",
      "..............................................................................\n",
      "##############################################################################\n",
      "Refining grid in flame.\n",
      "    New points inserted after grid points 74 75 76 77 81 82 83 \n",
      "    to resolve IXC3H7 IXC4H9 \n",
      "##############################################################################\n",
      "\n",
      "..............................................................................\n",
      "Attempt Newton solution of steady-state problem...    success.\n",
      "\n",
      "Problem solved on [196] point grid(s).\n",
      "\n",
      "..............................................................................\n",
      "no new points needed in flame\n",
      "Flame Speed is: 35.86 cm/s\n"
     ]
    }
   ],
   "source": [
    "flame.solve(loglevel=loglevel, auto=True)\n",
    "Su0 = flame.velocity[0]\n",
    "print(f\"Flame Speed is: {Su0 * 100:.2f} cm/s\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "715d1617",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Create a dataframe to store sensitivity-analysis data\n",
    "sensitivities = pd.DataFrame(index=gas.reaction_equations(), columns=[\"base_case\"])\n",
    "# Set the value of the perturbation\n",
    "dk = 1e-2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "5616c909",
   "metadata": {},
   "outputs": [],
   "source": [
    "for m in range(gas.n_reactions):\n",
    "    gas.set_multiplier(1.0)  # reset all multipliers\n",
    "    gas.set_multiplier(1 + dk, m)  # perturb reaction m\n",
    "\n",
    "    # Always force loglevel=0 for this\n",
    "    # Make sure the grid is not refined, otherwise it won't strictly\n",
    "    # be a small perturbation analysis\n",
    "    # Turn auto-mode off since the flame has already been solved\n",
    "    flame.solve(loglevel=0, refine_grid=False, auto=False)\n",
    "\n",
    "    # The new flame speed\n",
    "    Su = flame.velocity[0]\n",
    "\n",
    "    sensitivities.iloc[m, 0] = (Su - Su0) / (Su0 * dk)\n",
    "\n",
    "# This step is essential, otherwise the mechanism will have been altered\n",
    "gas.set_multiplier(1.0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "42c32982",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>base_case</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2 O + M =&gt; O2 + M</th>\n",
       "      <td>0.013814</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>H2 + O =&gt; H + OH</th>\n",
       "      <td>0.084072</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>H + OH =&gt; H2 + O</th>\n",
       "      <td>-0.033804</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>OH + M =&gt; H + O + M</th>\n",
       "      <td>0.014707</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>H + O + M =&gt; OH + M</th>\n",
       "      <td>0.007527</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                    base_case\n",
       "2 O + M => O2 + M    0.013814\n",
       "H2 + O => H + OH     0.084072\n",
       "H + OH => H2 + O    -0.033804\n",
       "OH + M => H + O + M  0.014707\n",
       "H + O + M => OH + M  0.007527"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sensitivities.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "id": "0336f359",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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WxfPnj3D3r170aNHj2Il7MCHYxrfv3+PgIAAubkcOXJkvm3Kc3xERET0dZAIpXkikIhEQyqVQl9fHykpKdDT06vocKgMWf1ysKJDyFPC7MK3ixERUcGK+vObK+1ERERERCLHpJ2IiIiISOT4ICoRkchxGwoREXGlnYiIiIhI5Ji0ExERERGJHJN2IiIiIiKRY9JORERERCRyTNqJiIiIiESOSTsRERERkcgxaSciIiIiEjkm7UREREREIseknYiIiIhI5Ji0ExERERGJHJN2IiIiIiKRY9JORERERCRyTNqJiIiIiESOSTsRERERkcgxaSciIiIiEjkm7UREREREIseknYiIiIhI5Ji0ExERERGJnGpFB0BERAWz+uVghfafMLtThfZPRERcaSciIiIiEj0m7UREREREIseknYiIiIhI5Ji0ExERERGJXLGT9qSkJIwYMQLW1tbQ0NCAhYUFPDw8cPLkSVkdKysrLFq0SKHtlClT0LBhQ9n70NBQtG7dGoaGhjA0NET79u1x4cIFhXbx8fEYNGgQatasCQ0NDZibm6Ndu3YIDw/H+/fvZfVOnTqF77//HkZGRqhcuTLs7Ozg6+uLzMxMWR1BEBAaGooWLVpAT08POjo6cHR0xMiRIxEfH1/c6Si233//HU2aNEHlypWhq6sLZ2dnHDhwQK5OVFQUunbtiurVq0NbWxsNGzZEeHi40mMrLqlUigkTJqBOnTrQ1NSEqakp2rdvj127dkEQBFm9mzdvok+fPjA2NoaGhgbs7e0xadIkpKamKjW+T7/fciUkJEAikSA2Nlap/Rd13EX974WIiIi+XsVK2hMSEuDk5IQ//vgD8+bNw/Xr13HkyBG0bdsWAQEBxe48KioKXl5eiIyMxNmzZ2FhYYEOHTrg2bNnsjoXLlzAt99+i7i4OCxbtgw3btxAVFQUhgwZghUrVuDmzZsAgFu3bqFjx45o3LgxTp8+jevXr2PJkiVQV1dHdnY2gA8Je79+/RAYGIgffvgBx44dw61bt7B27VpoampixowZxYrdysqqWOMdM2YM/P390bdvX1y7dg0XLlzAd999h65du2Lp0qWyemfOnEGDBg2wc+dOXLt2DQMHDoSPj49Ccl8aL1++RHp6eonbJycno2XLltiwYQPGjRuHmJgYnD59Gn379sV///tfpKSkAADOnTuHZs2aITMzEwcPHsTdu3cxc+ZMrF+/Hq6urnIfqArj5+eHKVOmlDjm0rCyskJUVFSR65fluImIiIiKdeTj8OHDIZFIcOHCBWhra8vKHR0dMWjQoGJ3/unq8Zo1a7Bz506cPHkSPj4+EAQBfn5+sLe3x19//QUVlf99xrCzs4OXl5dsRffYsWMwNTXF3LlzZXVsbGzQsWNH2futW7ciIiICe/fuRZcuXWTlNWvWRPPmzeVWh8vauXPnsGDBAixevBgjRoyQlc+cORPp6ekYNWoUunbtCgsLC4wfP16u7ciRI3Hs2DHs2rULnTt3LpN4Dh06hKCgIPTt2xe+vr5o0aJFsdqPHz8eCQkJuHv3LszMzGTl9vb28PLygqamJgRBwODBg+Hg4IBdu3bJvn6Wlpawt7dHo0aNsHDhQgQHB5fJmMTiax03ERERKU+RV9pfv36NI0eOICAgQC5hz2VgYFDqYFJTU5GVlQUjIyMAQGxsLOLi4jBmzBi5hP1jEokEAGBqaornz5/j9OnT+d5/y5YtqF27tlzCnte9lGHLli3Q0dGBv7+/wrXRo0cjKysLO3fuzLd9SkqKbF7yo6OjU+Br2LBhsrre3t7YtGkT/v33X3z//feoXbs2Zs2ahSdPnhQ6lpycHERERMDb21suYf84DlVVVcTGxuLWrVsYNWqUwtfvm2++Qfv27bFly5ZC+/vclNe4MzIyIJVK5V5ERET0ZSrySnt8fDwEQUCdOnWKVD84OBgTJ06UK8vMzETdunULbGNmZob27dsDAO7evQsAqF27tqzO33//DWtra9n7uXPnYvjw4ejduzeOHj0KZ2dnmJqaonnz5mjXrh18fHygp6cnu9/H9wKAoKAgrFmzBsCHDx5Pnz4t0viK6+7du7CxsYG6urrCNTMzM+jp6cnG+6lt27bh4sWLWLVqVYF9FLZHO3ceAEBVVRWdOnVCp06dkJKSgm3btmHjxo2YNGkSXFxc4Ovri169ekFLS0vhPv/88w/+/fffQr8Xcsfj4OCQ53UHBwf8+eefBd6jtK5fvw4dHR25MmX+RgUo2bhL8t9LSEgIpk6dWspoiYiI6HNQ5JX24iY6Y8eORWxsrNzr45XeT82ePRsRERHYvXs3NDU1861XpUoV2f0MDAxke4MrVaqEsLAwPH36FHPnzoW5uTlmzZoFR0dHPH/+PN/7TZgwAbGxsZg0aRLevn1b4Jg+XrV2d3fH48eP813JzktJksXIyEgMHDgQoaGhcHR0LLCura1tgS8TE5M82+nr6+PHH3/E6dOncebMGTx8+BA+Pj44evRomYyjpElyeHi43PyGh4dj1qxZcmXR0dEF3qN27doK34eHDh0qtO9hw4bJ9fP48WO4u7vLlRWmOOMu7n8vADBu3DikpKTIXkX5LQkRERF9noq80m5nZweJRILbt28XqX7VqlVha2srV5bf9o758+dj9uzZOHHiBBo0aCDXJwDcuXMHjRo1AvAhOc+9r6qqYvjm5uYYMGAABgwYgOnTp8Pe3h4rV67E1KlTYWdnhzt37sjVNzY2hrGxcb4J7cc+Xsk+f/48goOD5R5O/Hgl+1P29vb4888/kZmZqbDanpiYCKlUCnt7e7nyU6dOwcPDAwsXLoSPj0+h8RWWSPbv3x8rV65UKE9PT8f+/fuxYcMGHD16FI0aNcKYMWPQrl27PO9jbGwMAwODQr8XcscTFxcn+/p9LC4uTmHMH+vSpQuaNWsmex8cHAxzc3MEBgbKyszNzQuMQV1dXeH7MK/vm09NmzYNY8aMkb13cXHBnDlz5OLJT0nGXZz/XnJpaGhAQ0Oj0HiIiIjo81fkpN3IyAhubm5YtmwZAgMDFfa1Jycnl2hf+9y5czFz5kwcPXoUjRs3lrvWqFEj1KlTB/Pnz0efPn3y3deeH0NDQ1SvXh3v3r0DAHh5eaFfv37Yu3cvunbtWuxYP06qnj59ClVVVYVEKz+enp5YvHgxVq1aJfcgKvDhQ4uamhp69uwpK4uKikLnzp0xZ84cDB06tEh9FGd7jCAI+PPPP7FhwwZs374durq66N+/P+bNm1fothcVFRV4enpi48aNmDx5ssK+9rdv30JTUxMNGzZEnTp1sHDhQnh6esp9/a5evYoTJ04gJCQk3350dXWhq6sr997IyKjIc14aJiYmch/kVFVVYW5uXqS+SztuIiIiok8V6/SYZcuWoVWrVmjatCmmTZuGBg0a4P379zh+/DhWrFiBuLi4YnU+Z84cTJo0CZs3b4aVlRWSkpIA/G8bikQiQVhYGFxdXdGqVSuMGzcODg4OyMrKwunTp/Hy5UtUqlQJALBq1SrExsaie/fusLGxQXp6OjZs2ICbN29iyZIlAD4kzrt27YKnpyfGjRsHNzc3VKtWDY8ePcLWrVtl91KGFi1aYOTIkRg7diwyMzPRrVs3ZGVlYdOmTfjtt9+waNEiWFhYAPiwJaZz584YOXIkevbsKZsXdXX1Aldfi5PMbtq0Cf7+/ujevTu2bduG9u3bF+tD0cyZMxEVFYVmzZph5syZaNy4MdTU1BAdHY2QkBBcvHgRBgYGWLt2LVxdXdGzZ0+MGzcOpqamOH/+PEaPHo0WLVogKCioyH1+LiQSyVc5biIiIlKeYiXt1tbWiImJwcyZMzF69Gg8f/4cxsbGcHJywooVK4rd+YoVK5CZmYlevXrJlU+ePFl2Hnfz5s1x+fJlzJo1CwEBAUhKSoK2tja++eYbLFy4UHbUZNOmTfHnn39i2LBhSExMlP3RpD179sDZ2RnAh2Rq69atCA0NRVhYGObOnYusrCzUqFED7dq1w//93/8VewzFsWjRIjRo0ADLly/HxIkTUalSJXz77bfYs2cPPDw8ZPV+//13pKamIiQkRG5F1tnZuVhnhRekXbt2SEpKKnBLT0GMjIxw7tw5zJ49GzNmzMCjR49gaGiI+vXrY968edDX1wcAtGzZEufOncPUqVPh7u6ON2/eoGbNmvD19cW4ceO+2O0dX+u4iYiISDkkgrKP0iCiciGVSqGvr4+UlJQSfxgjcbL65WCF9p8wu1OF9k9E9CUr6s/v4m0SJyIiIiKicseknYiIiIhI5Iq1p52IiMoft6cQERFX2omIiIiIRI5JOxERERGRyDFpJyIiIiISOSbtREREREQix6SdiIiIiEjkmLQTEREREYkck3YiIiIiIpFj0k5EREREJHJM2omIiIiIRI5JOxERERGRyDFpJyIiIiISOSbtREREREQix6SdiIiIiEjkmLQTEREREYkck3YiIiIiIpFj0k5EREREJHJM2omIiIiIRI5JOxERERGRyKlWdABERFQwq18OVmj/CbM7VWj/RETElXYiIiIiItFj0k5EREREJHJM2omIiIiIRI5JOxERERGRyDFpLyN+fn7o1q2bQnlUVBQkEgmSk5Nl77t27Yrq1atDW1sbDRs2RHh4eLnE+Pvvv6NJkyaoXLkydHV14ezsjAMHDhQY78esrKywaNGicom1KPKLZ8qUKWjYsKHS+k1ISIBEIkFsbKzCNRcXFwQFBQEAsrKyEBwcjPr160NbWxtmZmbw8fFBYmKiQrsDBw7A2dkZurq6qFy5Mpo0aYL169crbQxERET0eWHSXs7OnDmDBg0aYOfOnbh27RoGDhwIHx8fheS5IFFRUbCysipWv2PGjIG/vz/69u2La9eu4cKFC/juu+/QtWtXLF26tJijKBuPHz+ukH4/VZL5LIrU1FTExMTg119/RUxMDHbt2oU7d+6gS5cucvWWLFmCrl27olWrVjh//jyuXbsGT09PDBs2DGPGjCnzuIiIiOjzwyMfy9n48ePl3o8cORLHjh3Drl270LlzZ6X0ee7cOSxYsACLFy/GiBEjZOUzZ85Eeno6Ro0aha5du8LCwkIp/efH19cXL1++hK+vL/r374/q1auXa//Kpq+vj+PHj8uVLV26FE2bNsXjx49Rs2ZNPHnyBKNHj0ZQUBBmzZolqzd69Gioq6sjMDAQvXv3RrNmzco7fCIiIhIRrrSLQEpKCoyMjJR2/y1btkBHRwf+/v4K10aPHo2srCzs3Lmz1P2Eh4dDR0enwFd0dLSs/rZt2zB06FBs3boVFhYW+OGHH7B161akp6eXOhaxSklJgUQigYGBAQBgx44dyMrKynNF3d/fHzo6OtiyZUue98rIyIBUKpV7ERER0ZeJK+1l6MCBA9DR0ZEry87OLrDNtm3bcPHiRaxatUppcd29exc2NjZQV1dXuGZmZgY9PT3cvXtXrrxGjRoKdVNTUwvsp0uXLoWuCJubm8v+bWxsjMDAQAQGBiIuLg6///47xowZg2HDhqFv377w8/ND8+bNC7xfcHAwJk6cKFeWmZmJunXrFtiuLLRs2RIqKvKfe9PS0vLdT5+eno7g4GB4eXlBT08PwIevjb6+fp6/ZVBXV4e1tbXC1yZXSEgIpk6dWrpBEBER0WeBSXsZatu2LVasWCFXdv78efTv3z/P+pGRkRg4cCBCQ0Ph6OhY4L0//jCQnZ2NjIwMubL+/ftj5cqV+bYXBKEoQ5CJjo6Grq6uXJmLi0uBbXR1dRXaFJWDgwNmz56NWbNmYd68efj1118RERGR5wOxHxs7diz8/PzkyhYvXozTp08X2K608wkAW7duhYODg1yZt7d3nnWzsrLQp08fCIKg8D1SUuPGjcOoUaNk76VSablvcSIiIqLywaS9DGlra8PW1lau7OnTp3nWPXXqFDw8PLBw4UL4+PgUeu+PTyo5f/48goODERUVJSvLXbnNi729Pf78809kZmYqrLYnJiZCKpXC3t5errxWrVqyLRy5VFUL/nYJDw/PcwvOxw4fPozWrVsrlD958gTh4eHYuHEjHj58iN69e2PgwIEF3gsAqlatqjDnRdlqVJr5zGVhYaHQt5aWlkK93IT90aNH+OOPP+TubW9vj5SUFCQmJsLMzEyuXWZmJu7fv4+2bdvm2b+GhgY0NDQKjZOIiIg+f0zaK0BUVBQ6d+6MOXPmYOjQoUVq83Fy+PTpU6iqqiokjPnx9PTE4sWLsWrVKrkHUQFg/vz5UFNTQ8+ePYs+gHwUd3vMmzdvsHPnTmzYsAGnTp1Cy5YtMWrUKPTu3btISXNplGY+iyM3Yb937x4iIyNRpUoVues9e/ZEcHAwFixYgAULFshdW7lyJd69ewcvL68yj4uIiIg+L0zay1lkZCQ6d+6MkSNHomfPnkhKSgLwYf+ysh5GbdGiBUaOHImxY8ciMzMT3bp1Q1ZWFjZt2oTffvsNixYtKpNtFcXdHtOtWzc8ePAAAwYMQGhoKGxsbEodg5hkZWWhV69eiImJwYEDB5CdnS37ehsZGUFdXR01a9bE3LlzMXr0aGhqamLAgAFQU1PD3r17MX78eIwePZonxxARERGT9vL2+++/IzU1FSEhIQgJCZGVOzs7y23PKGuLFi1CgwYNsHz5ckycOBGVKlXCt99+iz179sDDw0Np/RZk+fLlsLe3h0QiqZD+le3Zs2fYt28fACg8nBoZGSl7RiAoKAjW1taYP38+fvvtN2RnZ8PR0RErVqwo0hYhIiIi+vJJhOI+oUhEoiSVSqGvr4+UlBSlby+i8mX1y8EK7T9hdqcK7Z+I6EtW1J/fPKediIiIiEjkmLQTEREREYkc97QTEYkct6cQERFX2omIiIiIRI5JOxERERGRyDFpJyIiIiISOSbtREREREQix6SdiIiIiEjkmLQTEREREYkck3YiIiIiIpHjOe1EXwhBEAB8+HPIRERE9HnI/bmd+3M8P0zaib4Qb968AQBYWFhUcCRERERUXG/evIG+vn6+1yVCYWk9EX0WcnJykJiYCF1dXUgkkooOp8SkUiksLCzw5MkT6OnpVXQ4FY7z8T+cC3mcD3mcj//hXMgT+3wIgoA3b97AzMwMKir571znSjvRF0JFRQU1atSo6DDKjJ6enij/51pROB//w7mQx/mQx/n4H86FPDHPR0Er7Ln4ICoRERERkcgxaSciIiIiEjkm7UQkKhoaGpg8eTI0NDQqOhRR4Hz8D+dCHudDHufjfzgX8r6U+eCDqEREREREIseVdiIiIiIikWPSTkREREQkckzaiYiIiIhEjkk7EREREZHIMWknIiIiIhI5Ju1EVOFev34Nb29v6OnpwcDAAIMHD8bbt28LbLN69Wq4uLhAT08PEokEycnJ5ROsEixbtgxWVlbQ1NREs2bNcOHChQLrb9++HXXq1IGmpibq16+PQ4cOlVOkylecubh58yZ69uwJKysrSCQSLFq0qPwCLSfFmY/Q0FC0bt0ahoaGMDQ0RPv27Qv9XvrcFGc+du3ahcaNG8PAwADa2tpo2LAhNm7cWI7RKldx/7+RKyIiAhKJBN26dVNugOWsOPOxfv16SCQSuZempmY5RlsyTNqJqMJ5e3vj5s2bOH78OA4cOIDTp09j6NChBbZJTU1Fx44dMX78+HKKUjm2bt2KUaNGYfLkyYiJicE333wDNzc3/P3333nWP3PmDLy8vDB48GBcuXIF3bp1Q7du3XDjxo1yjrzsFXcuUlNTYW1tjdmzZ8PU1LSco1W+4s5HVFQUvLy8EBkZibNnz8LCwgIdOnTAs2fPyjly5SjufBgZGWHChAk4e/Ysrl27hoEDB2LgwIE4evRoOUde9oo7F7kSEhIwZswYtG7dupwiLR8lmQ89PT08f/5c9nr06FE5RlxCAhFRBbp165YAQLh48aKs7PDhw4JEIhGePXtWaPvIyEgBgPDvv/8qMUrladq0qRAQECB7n52dLZiZmQkhISF51u/Tp4/QqVMnubJmzZoJ/v7+So2zPBR3Lj5maWkpLFy4UInRlb/SzIcgCML79+8FXV1d4ffff1dWiOWqtPMhCILQqFEjYeLEicoIr1yVZC7ev38vtGzZUlizZo3g6+srdO3atRwiLR/FnY+wsDBBX1+/nKIrO1xpJ6IKdfbsWRgYGKBx48aysvbt20NFRQXnz5+vwMiULzMzE5cvX0b79u1lZSoqKmjfvj3Onj2bZ5uzZ8/K1QcANze3fOt/LkoyF1+yspiP1NRUZGVlwcjISFlhlpvSzocgCDh58iTu3LmDNm3aKDNUpSvpXEybNg0mJiYYPHhweYRZbko6H2/fvoWlpSUsLCzQtWtX3Lx5szzCLRUm7URUoZKSkmBiYiJXpqqqCiMjIyQlJVVQVOXjn3/+QXZ2NqpVqyZXXq1atXzHnpSUVKz6n4uSzMWXrCzmIzg4GGZmZgof8j5HJZ2PlJQU6OjoQF1dHZ06dcKSJUvg6uqq7HCVqiRz8eeff2Lt2rUIDQ0tjxDLVUnmo3bt2li3bh327t2LTZs2IScnBy1btsTTp0/LI+QSY9JORErxyy+/KDzo8+nr9u3bFR0m0Rdp9uzZiIiIwO7duz+LB+yURVdXF7Gxsbh48SJmzpyJUaNGISoqqqLDKldv3rzBgAEDEBoaiqpVq1Z0OKLQokUL+Pj4oGHDhnB2dsauXbtgbGyMVatWVXRoBVKt6ACI6Ms0evRo+Pn5FVjH2toapqamCg8LvX//Hq9fv/4iHy78WNWqVVGpUiW8ePFCrvzFixf5jt3U1LRY9T8XJZmLL1lp5mP+/PmYPXs2Tpw4gQYNGigzzHJT0vlQUVGBra0tAKBhw4aIi4tDSEgIXFxclBmuUhV3Lu7fv4+EhAR4eHjIynJycgB8+K3mnTt3YGNjo9yglags/t+hpqaGRo0aIT4+XhkhlhmutBORUhgbG6NOnToFvtTV1dGiRQskJyfj8uXLsrZ//PEHcnJy0KxZswocgfKpq6vDyckJJ0+elJXl5OTg5MmTaNGiRZ5tWrRoIVcfAI4fP55v/c9FSebiS1bS+Zg7dy6mT5+OI0eOyD0n8rkrq++PnJwcZGRkKCPEclPcuahTpw6uX7+O2NhY2atLly5o27YtYmNjYWFhUZ7hl7my+N7Izs7G9evXUb16dWWFWTYq+klYIqKOHTsKjRo1Es6fPy/8+eefgp2dneDl5SW7/vTpU6F27drC+fPnZWXPnz8Xrly5IoSGhgoAhNOnTwtXrlwRXr16VRFDKLGIiAhBQ0NDWL9+vXDr1i1h6NChgoGBgZCUlCQIgiAMGDBA+OWXX2T1//rrL0FVVVWYP3++EBcXJ0yePFlQU1MTrl+/XlFDKDPFnYuMjAzhypUrwpUrV4Tq1asLY8aMEa5cuSLcu3evooZQpoo7H7NnzxbU1dWFHTt2CM+fP5e93rx5U1FDKFPFnY9Zs2YJx44dE+7fvy/cunVLmD9/vqCqqiqEhoZW1BDKTHHn4lNf2ukxxZ2PqVOnCkePHhXu378vXL58WfD09BQ0NTWFmzdvVtQQioRJOxFVuFevXgleXl6Cjo6OoKenJwwcOFAu0Xj48KEAQIiMjJSVTZ48WQCg8AoLCyv/AZTSkiVLhJo1awrq6upC06ZNhXPnzsmuOTs7C76+vnL1t23bJtjb2wvq6uqCo6OjcPDgwXKOWHmKMxe53xefvpydncs/cCUpznxYWlrmOR+TJ08u/8CVpDjzMWHCBMHW1lbQ1NQUDA0NhRYtWggREREVELVyFPf/Gx/70pJ2QSjefAQFBcnqVqtWTfjhhx+EmJiYCoi6eCSCIAjlvrxPRERERERFxj3tREREREQix6SdiIiIiEjkmLQTEREREYkck3YiIiIiIpFj0k5EREREJHJM2omIiIiIRI5JOxERERGRyDFpJyIiIiISOSbtREREREQix6SdiIiIPisJCQmQSCTw8/Or6FCIyg2TdiIiIqKP7Nu3D926dYOZmRnU1dVhaGiIOnXqYMCAAdi/f39Fh0dfKdWKDoCIiIi+XtnZ2fjjjz/w4MEDaGhooHnz5qhTp06FxJKRkQFvb2/s3LkTxsbG6NixI8zNzfH27VvExMRg8+bN0NbWhoeHR4XER183Ju1ERERUYV6+fIkOHTrIlfn7+2P58uVQUSnfDQHjxo3Dzp078eOPP2Lx4sXQ1NSUu/7s2TO8fv26XGMiysXtMURERFRhDAwMEBMTg7S0NNy7dw/du3fHqlWrsHz58mLfKyoqChKJBFOmTMGlS5fg6uoKXV1d6Ovro3v37khISMi3bWZmJkJDQ6GlpZVnwg4A5ubmqF+/frHjIioLTNqJiIiowmhqaqJRo0bQ1NSEra0twsPDUa1aNSxdurTE97x48SLatGkDdXV1+Pv7o3HjxtizZw/at2+P9PT0PNu8fPkSb9++RaVKlSCRSErcN5GyMGknIiIi0dDS0kKLFi1w584dvHv3rkT3OHToEMLCwnDw4EHMnz8fJ0+exIABA3D//n3s2bMnzzampqYwMjLC27dv4erqioiICLx69aoUIyEqW0zaiYiIqMLs2LEDderUQeXKldGyZUtER0dDS0sLACCVSkt0zzZt2qBv375yZYMGDQLwYRU+L5UqVUJERARq1KiB6OhoeHl5wdjYGPXq1cP48ePx7NmzEsVCVFaYtBMREVGFOHv2LDw9PVG7dm2cOnUK3t7e6Ny5My5evAgVFRUYGxuX6L5OTk4KZTVq1AAAJCcn59vO1dUVCQkJOH78OMaMGYNvvvkGN2/eREhICOrWrYtr166VKB6issCknYiIvmrr16+HRCKBRCIp8EHF8r5XRdy/vIWEhKBy5crYtGkTmjRpgoCAAEyePBnx8fEwNTWFqmrJDrnT09NTKMu9V3Z2doFtK1WqhPbt22PevHm4cuUK4uPj0axZM0ilUkyfPr1E8RCVBSbtRERfuXfv3mHlypX44YcfYG5uDk1NTWhoaMDY2BhNmjTBoEGDEBoaiidPnlR0qPQFEQQBx48fR7t27aCrqysr79ixIwCgZcuWFRWaHBsbG4wZMwYAFD4o7dmzB1WrVpUrO3jwIAwNDcsrPPqKMGknIvqKnT17FnXr1sVPP/2Ew4cPIzExERkZGcjMzMQ///yDS5cuISwsDEOHDkWTJk0qOtwK8Tmtbn9Osf79999IT0+Hvb29XPnWrVsBAD179qyIsPKUmJgI4EMC/7HY2Fh88803cmVXr17lsZCkFEzaiYi+Unfv3oWbmxseP34MAOjSpQs2bNiAc+fOISYmBseOHcO8efPQoUMHqKmpVXC0yuPn5wdBECAIAqysrERzr4q4f3nS0dGBiooKUlNTZWUvX77E0qVLUatWLfTo0aPcYtmwYQNOnTqV57WzZ89i+vTpUFFRQWBgoNy1q1ev5pm0f1pGVBb4F1GJiL5SEyZMwJs3bwAAYWFh8PPzU6jj6uqKMWPG4OXLl9i2bVs5R0hfMm1tbbi7u2Pr1q0YOnQo9PT04Onpibdv32LXrl1QV1cvt1hCQ0Px559/wtraGq1bt4aZmRmSk5Nx7do1/PXXX9DQ0EBoaKjClp3Y2Fh07dpVruzq1asYPXp0ucVOXw8m7UREX6Hs7GwcPHgQANC4ceM8E/aPGRsbIyAgoBwio6/J2rVr4efnhwYNGgAA6tSpgyNHjsDZ2blc45g7dy7279+PqKgonDx5En///TfU1NRgbW2Nn3/+GQEBAQpbY1JSUpCQkCC3qi6VShEfH8+VdlIOgYiIvjrPnz8XAAgABE9PzzK55x9//CH4+PgItWrVErS0tARdXV2hXr16wpgxY4Rnz57l227y5MmyWARBENLS0oS5c+cKjRo1EnR0dAQdHR2hSZMmwpIlS4SsrKwCY3j27JkQHBwsNGrUSNDT0xNUVVUFExMToV69eoKnp6cQFhYmpKSkyLUJCwuT9f/w4UNZeWRkpKy8oFdkZGSh93r37p2go6MjABD69etX6FyeOXNGdp9ly5aVaayZmZlCtWrVBACCm5tbobFcv35d1n7OnDmF1i+JlJQU4fHjx0q5t7JcuXJFACC8efNGVhYaGiqoqKgI7969q8DI6EvFPe1ERF+hj7cexMXFlepe6enp8PLywvfff48NGzbg4cOHSEtLw5s3b3Djxg3Mnz8f9vb22L9/f6H3evHiBVq0aIH//ve/uHLlCt6+fYu3b9/i4sWLGDFiBHr06IGcnJw820ZHR8PBwQFz5szBlStXIJVK8f79e/z999+4ceMGIiIiMHDgQJw+fbpU4y2JypUro1u3bgCAvXv3FvqXPsPDwwF8OKawT58+ZRqLmpoafHx8AADHjx8v9I8GrVu3ThZLbrtcLi4uZfLgq56eHiwsLErcviJUqVIFAHDp0iUAwMmTJzFx4kTY2tqicuXKFRkafaGYtBMRfYWMjIxgaWkJ4MMe3Dlz5uSbDBdEEAT06tULERERAAAPDw9s3LgRf/31F86ePYvffvsNNWvWxLt379CrVy9ZgpOfHj164NatWwgMDMTx48dx+fJlbN68GQ4ODgCA/fv3IzQ0VKFdRkYGPD09IZVKoauri//+9784fPgwLl++jLNnz2Lz5s34z3/+A3Nz8yKPrUmTJrh+/TpmzJghKzt69CiuX78u9yrqqTre3t4APhyxuXfv3nzrvX//Htu3bwcAuLm5KRwpWBaxDhkyBACQk5ODDRs25HvfrKwsbNq0CQDg7u4OU1PTQmP5WlhYWGDKlCno3r07atWqhZ07d6Jbt26yrT5EZa6il/qJiKhizJ8/X27rhJWVlRAYGChEREQIDx48KNI9Vq9eLQAQ1NTUhMOHD+dZ5/Xr14Kjo6MAQGjVqpXC9Y+3x6ipqcltN8n16tUr2ZaOBg0aKFw/efKk7B779+/PN96srKwib48p6vWi1s3KyhJMTEwEAEKnTp3yvcfhw4dl99i8ebPSYm3durUAQLC3t8+3zq5du2T32717t8J1Z2fnIvdHRKXDlXYioq/Uzz//jEGDBsneJyQkYPHixfD09IS1tTVMTU3h6emJ/fv3QxAEhfaCIGDOnDkAgMDAQNkfxfmUoaEh5s2bBwD466+/cO/evXxjGjFiBFxcXBTKjYyMMHDgQADA9evXkZKSInc9KSlJ9u82bdrke39VVdU8/1pmeVBVVUXfvn0BAMeOHcOrV6/yrJe7NUZHR0fhZJKylLvafvfuXfz111951gkLCwMAmJiYoHPnzkqLhYgKx6SdiOgrpaKigrVr1+LYsWPo2LGjwp+Mf/HiBbZu3YouXbqgadOmuH//vtz1W7duycp69epVYF8fJ9Jnz57Nt17uFpK8ODk5AfjwYeHhw4dy16pXry77d26iKUa548vKysrzCM20tDTs2bMHANCtWzel7o3u3bs39PX1AeQ9Zy9evMDhw4cBAAMGDFD4/gCAqKioL+bceCKxY9JORPSVc3V1xeHDh/Hq1SscOnQIU6dOhYeHhyyhAz48bNe6dWs8f/5crixXixYtZA8k5vXS0dGR1f14VfxTderUyfeakZGR7N+558vn+u6772BtbQ0ACAoKQtOmTRESEoK//voLmZmZRZiF8tGsWTPZ0YG5K+of27dvH96+fQug4A8wZUFLSwv9+vUDAGzbtk3ujxwBwMaNG/H+/XsAkPuNDBFVDCbtREQE4MMJHu7u7pg0aRL27duHFy9eYN26dTA0NAQAPH/+HL/++qus/t9//12ifj5NDj9W0Mqyisr/fmRlZ2fLXVNTU8P+/ftlD6xevHgR48ePx3fffQcDAwN07NgRmzdvVmhXEXKT8TNnziicuJKbyJuYmKB9+/ZKjyV3i8ybN2+wY8cOuWu5q+/NmjVD3bp1lR4LERWMSTsREeVJQ0MDAwcOxJYtW2Rlu3btkp0y83ECvH//foWTSvJ7DR8+XCnx1q1bF9evX8fu3bsxaNAg2NraAviw5eTo0aPw9vZGs2bNSvxho6zkJu2CIMjN7evXr3H06FEAQN++ffPcjlLWvv32WzRq1AiA/BaZ8+fP49atWwC4yk4kFvyLqEREVCA3NzdYWFjgyZMn+Pfff/Hq1SsYGxvLzqkGAAMDA9SrV68Co/ygUqVK6Natm+xM9OfPn+PIkSNYtmwZLl++jMuXL8Pf3x+7d++usBjt7e3RuHFjXLp0CZs3b8a4ceMAADt27JBt5VH21piPDRkyBAEBATh16hQePnyIWrVqyRL4ypUrw9PTUyn9SiQSpdxXjPJ6kJuouLjSTkREhTIzM5P9OzfZyl2hBZDv6SMVrXr16hg4cCDOnj2Lb7/9FgBw4MABpKWlFfkeykguc5PyGzdu4Nq1awD+tzXGxsYGzZo1K9F9SxKrt7c3tLS0IAgC1q9fj7S0NNm5+z179lTaaTu5D7B+DS+issCknYiICpSamirbKqGnpydbYf/2229Ro0YNAMDq1auRnp5eYTEWRk1NDc7OzgA+/PGi5OTkIrfV1NSU/TsjI6NM4vH09ESlSpUAfEjWnz59iujoaAClW2UvSaz6+vqy039+//137NixQ3akJrfGEIkHk3Yioq/Q27dv0axZMxw4cKDAv4Sak5ODESNGyE5r6dKli2w1V0VFBePHjwcAPHjwAD4+PgUmilKpFEuXLi3DUfxPdHQ04uPj872emZmJU6dOAfhw/rmxsXGR7/3xcZKfHntZUqampvj+++8BAFu2bMHmzZtlK7KlSdpLGmvuA6mPHj3Cf//7XwAfVvxzP+jkx8XFRXZC0KcP1Za3hIQESCQS+Pn5lfm9J0yYAIlEgjNnzpT5vYmKinvaiYi+UhcuXICHhwfMzc3RrVs3tGjRApaWltDV1UVycjKuXLmCdevW4fr16wA+rMhOnz5d7h7Dhg3D8ePHsXv3bmzfvh0xMTHw9/dH06ZNoa+vD6lUitu3byMqKgr79u2DpqYm/vOf/5T5WE6ePInp06ejdevW6NSpExo0aABjY2OkpaXh7t27WLlyJWJiYgAAgwcPLtZDno0aNYKmpibS09Px66+/Qk1NDZaWlrLTbMzNzaGlpVXsmL29vXH8+HE8efIEISEhAIDGjRvD3t6+2Pcqbaxt2rSBvb097t69KzuS08/P76vad16QK1euQEVFBQ0bNqzoUOgrxqSdiOgrpKqqClNTUyQlJeHZs2dYtmwZli1blm99Ozs7bNmyReEP6EgkEmzduhUjR47EypUrcf/+fdlKbV5MTEzKaggKcnJycOrUKdmKel66du0qS5CLSldXF4GBgZg7dy5iYmLQoUMHueuRkZF5/hXXwvTo0QM//fQT0tLSZNt1SvsAamliHTx4MIKDgwF8+C2KMlasiyo7Oxt//PEHHjx4AA0NDTRv3rzAM/yV7cqVK6hdu7ZS/9gVUWGYtBMRfYU0NTXx7NkznDt3DidOnMC5c+dw584dvHjxAunp6dDW1oaZmRm++eYbdO3aFT179oS6unqe91JTU8Py5cvx008/ITQ0FFFRUXj8+DHevn0LHR0d1KpVC05OTnB3d0fnzp2VMp4xY8agQYMGOHHiBK5cuYLExETZ0Y6mpqZo2rQpfHx80KlTpxLdf/bs2bCzs8OGDRtw8+ZNpKSklPrMd11dXXh4eMj+MmqlSpXK5KSWksY6YMAAWdLu6uoqe16hIrx8+VLhA4e/vz+WL18ud15/eXj+/DmSkpLQrl27cu2XSIFAREREX71jx44JAAQAwtatWys0lrS0NCEmJkZIS0sT7t27J3Tv3l0AICxZsiTfNg8fPhQACL6+vnLlkZGRAgBh8uTJwsWLF4X27dsLOjo6gp6entCtWzfh4cOHBcZy8OBBAYCwYMECufK4uDihbt26gra2trBly5aSDpWoyPggKhEREWHdunUAgCpVqqBr164VGoumpqZsf76trS3Cw8NRrVq1Uj3IfPHiRbRp0wbq6urw9/dH48aNsWfPHrRv377Ak4+uXLkCALIjQwFg69ataNKkCbKysnDu3DmlnWVP9DEm7URERF+5+/fvY8eOHQCAgQMHQkNDo4IjkqelpYUWLVrgzp07ePfuXYnucejQIYSFheHgwYOYP38+Tp48iQEDBuD+/fvYs2dPvu1iYmIgkUjQqFEjZGVlITAwEJ6envj+++9x8eJFUfxRMfo6MGknIiL6Cj179gz37t3D0aNH0bNnT7x//x6ampr4+eefKzo07NixA3Xq1EHlypXRsmVLREdHy069kUqlJbpnmzZt0LdvX7my3HPoL168mG+7K1euwNraGlKpFG3atMGyZcswffp07NmzB/r6+iWKhagk+CAqERHRV8jb21vhpJ3p06fL/fXbinD27Fl4enqiU6dO2LhxIy5cuIDOnTvDxMQEKioqxTpj/2NOTk4KZbkP2+b3x7aSk5Px8OFD2NjY4Ntvv0VOTg4OHToENze3EsVAVBpM2omIiL5ilStXhr29PYKCguDr61vR4SAkJASVK1fGpk2boKuriyZNmiAjIwOjR4+GmZlZsc7Y/5ienp5CWe698jtdJ3c/+7///ovXr1/j119/ZcJOFYbbY4iIiL5CUVFREAQB7969w5UrV0SRsAuCgOPHj6Ndu3bQ1dWVlXfs2BEA0LJly3KNJzdpX7NmDVq0aIFZs2bh4MGD5RoDUS4m7URERCQKf//9N9LT0xX+KuzWrVsBAD179izXeHKT9ubNm2PPnj2wsLCAp6cnrl69Wq5xEAFM2omIiEgkdHR0oKKigtTUVFnZy5cvsXTpUtSqVQs9evQo13hiYmJQrVo1VK9eHSYmJti/fz9UVFTQuXNnJCYmlmssREzaiYiISBS0tbXh7u6OrVu34vr163j06BG6dOmCt2/fIiwsLN+/yqsMaWlpuHPnDho2bCgrq1evHiIiIvD8+XN4eHjIfbggUjYm7URERCQaa9euhZOTExo0aAArKyskJyfjyJEjcHZ2Ltc4rl27huzsbLmkHQDc3d2xaNEixMTEoF+/fsjJySnXuOjrJREEQajoIIiIiIg+JpVKkZKSAgsLi4oOhUgUmLQTEREREYkct8cQEREREYkck3YiIiIiIpFj0k5EREREJHJM2omIiIiIRI5JOxERERGRyDFpJyIiIiISOSbtREREREQix6SdiIiIiEjkmLQTEREREYkck3YiIiIiIpH7f7dD/pjR7gxlAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Reaction mechanisms can contains thousands of elementary steps. Choose a threshold\n",
    "# to see only the top few\n",
    "threshold = 0.048\n",
    "\n",
    "# For plotting, collect only those steps that are above the threshold\n",
    "# Otherwise, the y-axis gets crowded and illegible\n",
    "sensitivities_subset = sensitivities[sensitivities[\"base_case\"].abs() > threshold]\n",
    "reactions_above_threshold = (\n",
    "    sensitivities_subset.abs().sort_values(by=\"base_case\", ascending=False).index\n",
    ")\n",
    "sensitivities_subset.loc[reactions_above_threshold].plot.barh(\n",
    "    title=\"Sensitivities at phi - 1.0 \", legend=None\n",
    ")\n",
    "plt.gca().invert_yaxis()\n",
    "\n",
    "plt.rcParams.update({\"axes.labelsize\": 20})\n",
    "plt.xlabel(r\"Sensitivity: $\\frac{\\partial\\:\\ln{S_{u}}}{\\partial\\:\\ln{k}}$\");"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5e22aff0",
   "metadata": {},
   "source": [
    "phi - 0.5"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "id": "56433572",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "************ Solving on 8 point grid with energy equation enabled ************\n",
      "\n",
      "..............................................................................\n",
      "Attempt Newton solution of steady-state problem...    failure. \n",
      "Take 10 timesteps     0.0001139      4.576\n",
      "Attempt Newton solution of steady-state problem...    failure. \n",
      "Take 10 timesteps      0.001946      3.944\n",
      "Attempt Newton solution of steady-state problem...    failure. \n",
      "Take 10 timesteps       0.02217      3.004\n",
      "Attempt Newton solution of steady-state problem...    success.\n",
      "\n",
      "Problem solved on [9] point grid(s).\n",
      "Expanding domain to accommodate flame thickness. New width: 0.04 m\n",
      "##############################################################################\n",
      "Refining grid in flame.\n",
      "    New points inserted after grid points 0 1 2 3 4 5 6 7 \n",
      "    to resolve AXC5H10 C2H2 C2H3 C2H3CHO C2H4 C2H5 C2H5O2 C2H6 C3H2 C3H3 C3H4XA C3H4XP C3H5XA C3H5XT C3H6 C3H8 C4H10 C4H6 C4H8X1 CH2 CH2CO CH2O CH2OH CH3 CH3CHO CH3COCH2 CH3COCH3 CH3O CH3O2 CH3O2H CH3OH CH4 CO CO2 CXC8H17 H H2 H2O H2O2 HCCO HCNO HCO HNCO HO2 HOCHO IXC3H5CHO IXC3H5CO IXC3H6CO IXC3H7 IXC3H7O2 IXC4H10 IXC4H6OH IXC4H7 IXC4H7OH IXC4H8 IXC4H9 IXC4H9O2 IXC5H9 IXC8H18 N2 N2O NEOXC5H11 NO NO2 NXC3H7 NXC3H7O2 O O2 OH T TXC4H9 TXC4H9O2 XXC7H13 YXC7H14 velocity \n",
      "##############################################################################\n",
      "\n",
      "*********** Solving on 17 point grid with energy equation enabled ************\n",
      "\n",
      "..............................................................................\n",
      "Attempt Newton solution of steady-state problem...    failure. \n",
      "Take 10 timesteps     0.0001709      4.179\n",
      "Attempt Newton solution of steady-state problem...    failure. \n",
      "Take 10 timesteps     0.0002162      4.824\n",
      "Attempt Newton solution of steady-state problem...    failure. \n",
      "Take 10 timesteps      0.003695      3.512\n",
      "Attempt Newton solution of steady-state problem...    failure. \n",
      "Take 10 timesteps       0.04209      2.828\n",
      "Attempt Newton solution of steady-state problem...    success.\n",
      "\n",
      "Problem solved on [17] point grid(s).\n",
      "\n",
      "..............................................................................\n",
      "grid refinement disabled.\n",
      "\n",
      "******************** Solving with grid refinement enabled ********************\n",
      "\n",
      "..............................................................................\n",
      "Attempt Newton solution of steady-state problem...    success.\n",
      "\n",
      "Problem solved on [17] point grid(s).\n",
      "\n",
      "..............................................................................\n",
      "##############################################################################\n",
      "Refining grid in flame.\n",
      "    New points inserted after grid points 1 2 3 4 5 6 7 8 9 10 11 12 \n",
      "    to resolve AXC5H10 C2H2 C2H3 C2H3CHO C2H4 C2H5 C2H5O2 C2H6 C3H2 C3H3 C3H4XA C3H4XP C3H5XA C3H5XT C3H6 C3H8 C4H10 C4H6 C4H7 C4H8X1 C5H10X1 C6H12X1 CH2 CH2CCH2OH CH2CO CH2O CH2OH CH3 CH3CHO CH3COCH3 CH3O CH3O2 CH3O2H CH3OH CH4 CO CO2 CXC8H17 H H2 H2O H2O2 HCCO HCNO HCO HNCO HO2 HOCHO IXC3H5CHO IXC3H5CO IXC3H6CO IXC3H7 IXC3H7O2 IXC4H10 IXC4H6OH IXC4H7 IXC4H7OH IXC4H8 IXC4H9 IXC4H9O2 IXC5H9 IXC8H18 N2 N2O NO NO2 NXC3H7O2 O O2 OH T TXC4H9 TXC4H9O2 XXC7H13 YXC7H14 velocity \n",
      "##############################################################################\n",
      "\n",
      "..............................................................................\n",
      "Attempt Newton solution of steady-state problem...    failure. \n",
      "Take 10 timesteps     5.695e-05      6.048\n",
      "Attempt Newton solution of steady-state problem...    failure. \n",
      "Take 10 timesteps     0.0006487      4.681\n",
      "Attempt Newton solution of steady-state problem...    failure. \n",
      "Take 10 timesteps     0.0001026      5.416\n",
      "Attempt Newton solution of steady-state problem...    failure. \n",
      "Take 10 timesteps     6.495e-05       5.81\n",
      "Attempt Newton solution of steady-state problem...    failure. \n",
      "Take 10 timesteps     0.0004932      4.588\n",
      "Attempt Newton solution of steady-state problem...    success.\n",
      "\n",
      "Problem solved on [29] point grid(s).\n",
      "\n",
      "..............................................................................\n",
      "##############################################################################\n",
      "Refining grid in flame.\n",
      "    New points inserted after grid points 6 7 8 9 10 11 12 13 14 15 16 17 23 25 \n",
      "    to resolve AXC5H10 C2H C2H2 C2H3 C2H3CHO C2H4 C2H5 C2H5O2 C2H6 C3H2 C3H3 C3H4XA C3H4XP C3H5XA C3H5XT C3H6 C3H8 C4H10 C4H6 C4H7 C4H8X1 C5H10X1 C6H12X1 CH2 CH2CCH2OH CH2CHO CH2CO CH2GSG CH2O CH2OH CH3 CH3CHO CH3CO CH3COCH2 CH3COCH3 CH3O CH3O2 CH3O2H CH3OH CH4 CO CO2 CXC8H17 H H2 H2O H2O2 HCCO HCNO HCO HNCO HO2 HOCHO IXC3H5CHO IXC3H5CO IXC3H6CO IXC3H7 IXC3H7O2 IXC4H10 IXC4H6OH IXC4H7 IXC4H7O IXC4H7OH IXC4H8 IXC4H9 IXC4H9O2 IXC5H9 IXC8H18 N2 N2O NEOXC5H11 NO NO2 NXC3H7 NXC3H7O2 O O2 OH T TXC4H9 TXC4H9O2 XXC7H13 YXC7H14 YXC7H15 velocity \n",
      "##############################################################################\n",
      "\n",
      "..............................................................................\n",
      "Attempt Newton solution of steady-state problem...    failure. \n",
      "Take 10 timesteps     0.0002563      4.449\n",
      "Attempt Newton solution of steady-state problem...    failure. \n",
      "Take 10 timesteps      0.004379      3.756\n",
      "Attempt Newton solution of steady-state problem...    success.\n",
      "\n",
      "Problem solved on [43] point grid(s).\n",
      "\n",
      "..............................................................................\n",
      "##############################################################################\n",
      "Refining grid in flame.\n",
      "    New points inserted after grid points 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 \n",
      "    to resolve AXC5H10 C2H C2H2 C2H3 C2H3CHO C2H4 C2H5 C2H5O2 C2H6 C3H2 C3H3 C3H4XA C3H4XP C3H5XA C3H5XT C3H6 C3H8 C4H10 C4H6 C4H7 C4H8X1 C5H10X1 C6H12X1 CH2 CH2CCH2OH CH2CHO CH2CO CH2GSG CH2O CH2OH CH3 CH3CHO CH3CO CH3COCH3 CH3O CH3O2 CH3O2H CH3OH CH4 CO CO2 CXC8H17 H H2 H2O H2O2 HCCO HCNO HCO HNCO HO2 HOCHO IXC3H5CHO IXC3H5CO IXC3H6CO IXC3H7 IXC3H7O2 IXC4H10 IXC4H6OH IXC4H7 IXC4H7OH IXC4H8 IXC4H9 IXC4H9O2 IXC5H9 IXC8H18 N2 N2O NO NO2 NXC3H7O2 O O2 OH T TXC4H9 TXC4H9O2 XXC7H13 YXC7H14 velocity \n",
      "##############################################################################\n",
      "\n",
      "..............................................................................\n",
      "Attempt Newton solution of steady-state problem...    success.\n",
      "\n",
      "Problem solved on [59] point grid(s).\n",
      "\n",
      "..............................................................................\n",
      "##############################################################################\n",
      "Refining grid in flame.\n",
      "    New points inserted after grid points 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 \n",
      "    to resolve AXC5H10 C2H C2H2 C2H3 C2H3CHO C2H4 C2H5 C2H6 C3H2 C3H3 C3H4XA C3H4XP C3H5XA C3H5XT C3H6 C3H8 C4H10 C4H6 C4H7 C4H8X1 C5H10X1 CH2 CH2CCH2OH CH2CHO CH2CO CH2GSG CH2O CH2OH CH3 CH3CHO CH3COCH3 CH3O CH3O2 CH3O2H CH3OH CH4 CO CO2 CXC8H17 H H2 H2O H2O2 HCCO HCNO HCO HO2 HOCHO IXC3H5CHO IXC3H5CO IXC3H6CO IXC3H7 IXC3H7O2 IXC4H10 IXC4H6OH IXC4H7 IXC4H7OH IXC4H8 IXC4H9 IXC4H9O2 IXC5H9 IXC8H18 N2 NO2 NXC3H7O2 O O2 OH T TXC4H9 TXC4H9O2 XXC7H13 YXC7H14 YXC7H15 velocity \n",
      "##############################################################################\n",
      "\n",
      "..............................................................................\n",
      "Attempt Newton solution of steady-state problem...    success.\n",
      "\n",
      "Problem solved on [83] point grid(s).\n",
      "\n",
      "..............................................................................\n",
      "##############################################################################\n",
      "Refining grid in flame.\n",
      "    New points inserted after grid points 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 \n",
      "    to resolve AXC5H10 C2H2 C2H3 C2H3CHO C2H4 C2H5 C2H6 C3H2 C3H3 C3H4XA C3H4XP C3H5XA C3H5XT C3H6 C3H8 C4H10 C4H6 C4H7 C4H8X1 C5H10X1 CH2 CH2CCH2OH CH2CHO CH2CO CH2O CH2OH CH3 CH3CHO CH3COCH3 CH3O CH3O2 CH3O2H CH3OH CH4 CO CO2 CXC8H17 H H2 H2O H2O2 HCCO HCO HO2 HOCHO IXC3H5CHO IXC3H6CO IXC3H7 IXC3H7O2 IXC4H10 IXC4H6OH IXC4H7 IXC4H7OH IXC4H8 IXC4H9 IXC4H9O2 IXC5H9 IXC8H18 N2 NXC3H7O2 O O2 OH T TXC4H9 TXC4H9O2 XXC7H13 YXC7H14 velocity \n",
      "##############################################################################\n",
      "\n",
      "..............................................................................\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Attempt Newton solution of steady-state problem...    success.\n",
      "\n",
      "Problem solved on [108] point grid(s).\n",
      "\n",
      "..............................................................................\n",
      "##############################################################################\n",
      "Refining grid in flame.\n",
      "    New points inserted after grid points 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 \n",
      "    to resolve AXC5H10 C2H2 C2H3 C2H3CHO C2H4 C2H5 C2H6 C3H3 C3H4XA C3H4XP C3H5XA C3H5XT C3H6 C4H6 C4H7 C4H8X1 C5H10X1 CH2 CH2CO CH2O CH2OH CH3 CH3CHO CH3O CH3O2 CH3O2H CH3OH CH4 CO H2 H2O H2O2 HCCO HCO HO2 HOCHO IXC3H5CHO IXC3H6CO IXC3H7 IXC3H7O2 IXC4H10 IXC4H6OH IXC4H7 IXC4H7OH IXC4H8 IXC4H9 IXC4H9O2 IXC5H9 IXC8H18 N2 O OH TXC4H9 TXC4H9O2 XXC7H13 YXC7H14 \n",
      "##############################################################################\n",
      "\n",
      "..............................................................................\n",
      "Attempt Newton solution of steady-state problem...    success.\n",
      "\n",
      "Problem solved on [141] point grid(s).\n",
      "\n",
      "..............................................................................\n",
      "##############################################################################\n",
      "Refining grid in flame.\n",
      "    New points inserted after grid points 45 46 47 52 53 54 74 75 76 77 78 79 80 81 82 83 84 85 86 \n",
      "    to resolve C3H3 C3H4XA C3H4XP C3H5XA CH3 CH3O2 HCCO HCO HO2 IXC3H6CO IXC4H7 TXC4H9 XXC7H13 \n",
      "##############################################################################\n",
      "\n",
      "..............................................................................\n",
      "Attempt Newton solution of steady-state problem...    success.\n",
      "\n",
      "Problem solved on [160] point grid(s).\n",
      "\n",
      "..............................................................................\n",
      "no new points needed in flame\n",
      "Flame Speed is: 6.10 cm/s\n"
     ]
    }
   ],
   "source": [
    "# Inlet Temperature in Kelvin and Inlet Pressure in Pascals\n",
    "# In this case we are setting the inlet T and P to room temperature conditions\n",
    "To = 300\n",
    "Po = 101325\n",
    "\n",
    "# Define the gas-mixutre and kinetics\n",
    "# In this case, we are choosing a GRI3.0 gas\n",
    "#gas = ct.Solution(\"gri30.yaml\")\n",
    "gas = ct.Solution('Jerzembeck.yaml')\n",
    "\n",
    "# Create a stoichiometric CH4/Air premixed mixture\n",
    "#gas.set_equivalence_ratio(1.0, \"CH4\", {\"O2\": 1.0, \"N2\": 3.76})\n",
    "gas.set_equivalence_ratio(0.5, 'IXC8H18', 'O2:12.5, N2:47')\n",
    "gas.TP = To, Po\n",
    "\n",
    "# Domain width in metres\n",
    "width = 0.02\n",
    "\n",
    "# Create the flame object\n",
    "flame = ct.FreeFlame(gas, width=width)\n",
    "\n",
    "# Define tolerances for the solver\n",
    "flame.set_refine_criteria(ratio=3, slope=0.1, curve=0.1)\n",
    "\n",
    "# Define logging level\n",
    "loglevel = 1\n",
    "\n",
    "flame.solve(loglevel=loglevel, auto=True)\n",
    "Su0 = flame.velocity[0]\n",
    "print(f\"Flame Speed is: {Su0 * 100:.2f} cm/s\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "id": "53b8c644",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>base_case</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2 O + M =&gt; O2 + M</th>\n",
       "      <td>-0.001463</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>H2 + O =&gt; H + OH</th>\n",
       "      <td>0.017451</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>H + OH =&gt; H2 + O</th>\n",
       "      <td>-0.005994</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>OH + M =&gt; H + O + M</th>\n",
       "      <td>-0.003189</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>H + O + M =&gt; OH + M</th>\n",
       "      <td>-0.001719</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                    base_case\n",
       "2 O + M => O2 + M   -0.001463\n",
       "H2 + O => H + OH     0.017451\n",
       "H + OH => H2 + O    -0.005994\n",
       "OH + M => H + O + M -0.003189\n",
       "H + O + M => OH + M -0.001719"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Create a dataframe to store sensitivity-analysis data\n",
    "sensitivities = pd.DataFrame(index=gas.reaction_equations(), columns=[\"base_case\"])\n",
    "# Set the value of the perturbation\n",
    "dk = 1e-2\n",
    "for m in range(gas.n_reactions):\n",
    "    gas.set_multiplier(1.0)  # reset all multipliers\n",
    "    gas.set_multiplier(1 + dk, m)  # perturb reaction m\n",
    "\n",
    "    # Always force loglevel=0 for this\n",
    "    # Make sure the grid is not refined, otherwise it won't strictly\n",
    "    # be a small perturbation analysis\n",
    "    # Turn auto-mode off since the flame has already been solved\n",
    "    flame.solve(loglevel=0, refine_grid=False, auto=False)\n",
    "\n",
    "    # The new flame speed\n",
    "    Su = flame.velocity[0]\n",
    "\n",
    "    sensitivities.iloc[m, 0] = (Su - Su0) / (Su0 * dk)\n",
    "\n",
    "# This step is essential, otherwise the mechanism will have been altered\n",
    "gas.set_multiplier(1.0)\n",
    "\n",
    "sensitivities.head()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "id": "6c3c52fc",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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mUj43O9lSESlTiwWQ1dXF2lpadDR0anocOQy/+VARYdAciTP71rRIRARfXFK8v83V/qJiIiIiJQck34iIiIiIiXHC3mJ6LPFLSRERESlgyv9RERERERKjkk/EREREZGSY9JPRERERKTkmPQTERERESk5Jv1EREREREqOST8RERERkZJj0k9EREREpOSY9BMRERERKTkm/URERERESo5JPxERERGRkmPST0RERESk5Jj0ExEREREpOSb9RERERERKjkk/EREREZGSY9JPRERERKTkmPQTERERESk5Jv1EREREREqOST8RERERkZJTqegAiIgqM/NfDlR0CBUieX7Xig6BiIgUwJV+IiIiIiIlx6SfiIiIiEjJMeknIiIiIlJyTPqJiIiIiJQck/4i8PX1Rc+ePWXKY2JiIBKJ8OrVK0lZTk4OgoKC0LRpU6irq0NfXx+urq44ffq0VNvdu3fD2dkZhoaG0NHRQdu2bXHkyJEynknR4wsODoaenl6+fYhEIuzdu7fMYy0qefF8+rrNmzcPrVq1gra2NoyMjNCzZ0/cunVLpt2ZM2fQpUsX6OvrQ11dHU2bNsVvv/2GnJycMpzFBw8fPoSfnx9MTEygqqoKMzMzjBkzBqmpqZI6WVlZmDhxIpo2bQpNTU2YmJjA29sbT548KfP4iIiIqHJi0l+KBEGAh4cHZs6ciTFjxiAhIQExMTEwNTWFo6OjVGJ66tQpODs74+DBg7h8+TKcnJzg5uaGK1euFHm84OBgODo6lkl85enBgwflMs7Jkyfh7++Pc+fO4dixY8jKykKnTp3w9u1bSZ09e/bAwcEBdevWRXR0NG7evIkxY8Zg9uzZ8PDwgCAIRR7P0dERwcHBRa5/9+5dtGzZEomJidi2bRuSkpKwdu1aHD9+HG3btsXLly8BAO/evUNcXBymTp2KuLg47N69G7du3UL37t2LPBYRERF9WXjLzlIUERGBnTt3IioqCm5ubpLy9evXIzU1FUOGDIGzszM0NTWxdOlSqbZz585FZGQk9u3bh+bNm1d4fOXJwcEBtWrVgo+PDzw8PKCvr18m4xw+fFjqeXBwMIyMjHD58mV06NABb9++xdChQ9G9e3esX79eUm/IkCGoVasWunfvjoiICPTr169M4vP394eqqiqOHj0KDQ0NAEC9evXQvHlzNGjQAJMnT8aaNWugq6uL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BgZi3LhxZXLnHuD/7hzl7OyM3r17Y9KkSTA2Nsb58+cxbtw4tG3bVuo3B4iIiIiKo0zu3iMSiRAREYHAwEAEBQWhYcOGsLe3x/379xETEyP1A1/r169HdnY2/P39Ubt2bcnj09tglpWMjAz4+Phg0KBB6NSpk6S8du3aWLFiBaZMmYJbt26hdevWuHTpEiwtLTF06FDY2Nige/fuuH79er4/llRaNm3ahLp160rFVpquX7+O8+fPY+TIkSVK+PNuPdm2bVsMGzZMUl69enUEBwdjzZo1OHnyJCwsLBAXFwcnJyeMGzcOTZo0gbOzs+R3EcpKeHg4BEGQu2IfEBCAPXv2IDY2Fi1btkSTJk0QFhaGNWvWYPHixWUWF/DhYuRz586hatWqcHV1haWlJSZNmgQfHx8cO3aM23KIiIioxERCce/NSESVllgshq6uLtLS0qCjo1PR4VAlZP7LgYoOocSS5xe+nZSI6HNSkv+/y2Sln4iIiIiIPh9M+omIiIiIlFyZXMhLRETKjVtjiIgqF670ExEREREpOSb9RERERERKjkk/EREREZGSY9JPRERERKTkmPQTERERESk5Jv1EREREREqOST8RERERkZJj0k9EREREpOSY9BMRERERKTkm/URERERESo5JPxERERGRkmPST0RERESk5Jj0ExEREREpOSb9RERERERKjkk/EREREZGSY9JPRERERKTkmPQTERERESk5Jv1EREREREpOpaIDICKiysf8lwMVHUKBkud3regQiIg+K1zpJyIiIiJSckz6iYiIiIiUHJN+IiIiIiIlx6SfiIiIiEjJMelXYr6+vujZs6dMeUxMDEQiEV69eiV53qNHD9SuXRuamppo1qwZQkNDZdq9fPkSAQEBMDMzg6qqKkxMTODn54cHDx6U8UyAnJwcBAUFoWnTplBXV4e+vj5cXV1x+vTpMh9bEbt374azszMMDQ2ho6ODtm3b4siRI4W2K+r8goODoaenl28fIpEIe/fuLYVZEBERkbJh0k84c+YMvvrqK+zatQt///03Bg0aBG9vb+zfv19S5+XLl2jTpg3+/PNPrF27FklJSQgPD0dSUhJatWqFu3fvFnm84OBgODo6Frm+IAjw8PDAzJkzMWbMGCQkJCAmJgampqZwdHQs1UT31atXEIvFxW5/6tQpODs74+DBg7h8+TKcnJzg5uaGK1euyG1TnvMjIiKiLxNv2UkIDAyUej5mzBgcPXoUu3fvRrdu3QAAkydPxpMnT5CUlARjY2MAQL169XDkyBFYWVnB398fhw4dKpP4IiIisHPnTkRFRcHNzU1Svn79eqSmpmLIkCFwdnaGpqZmice6evUqXF1d0atXL/j4+OC7775DlSpF/2y8dOlSqedz585FZGQk9u3bh+bNm+fbpjznR0RERF8mrvRTvtLS0mBgYAAAyM3NRXh4OLy8vCQJfx4NDQ2MHDkSR44cwcuXL8sklrCwMFhbW0slxHnGjRuH1NRUHDt2TG57W1tbaGlpyX24urpK6nbo0AGHDh2Cmpoa+vTpAzMzMwQGBuLWrVvFij03NxevX7+WnMuymF9RZGRkQCwWSz2IiIjoy8GVfiW3f/9+aGlpSZXl5OQU2CYiIgIXL17EunXrAADPnz/Hq1evYGNjk299GxsbCIKApKQktG7dunQC/8jt27cLHDuvjjwHDx5EVlaW3OMaGhqSP4tEIjg4OMDBwQErV67E3r17sWXLFixatAgtWrSAr68vPD09oaurW6TYFy9ejDdv3sDd3V1uHUXnl5aWJvOaFmbevHmYMWOGQm2IiIhIeTDpV3JOTk5Ys2aNVNn58+cxYMCAfOtHR0dj0KBB2LBhA2xtbaWOCYJQrBgePHiAxo0bS55nZ2cjKytLKnENDAyU2WZUGmMDgJmZWbHaaWhowNPTE56enrh9+zY8PT3xww8/4P379wgICCi0fVhYGGbMmIHIyEgYGRkVWFeR+WlrayMuLk6m3MrKSm6bSZMmYezYsZLnYrEYpqamRR6TiIiIKjcm/UpOU1MTlpaWUmWPHj3Kt+7Jkyfh5uaGoKAgeHt7S8oNDQ2hp6eHhISEfNslJCRAJBLJjJPHxMQE8fHxkue7d+/Grl27pO4QVND2F2tr6wLHzqsjj62tLe7fvy/3uL29fb7XI2RnZ+Po0aMICQlBZGQkLCwssHDhQnh5ecntK094eDiGDBmCHTt2oGPHjgXWVXR+VapUkXuu5VFTU4OamppCbYiIiEh5MOknAB9u29mtWzcsWLAAw4YNkzpWpUoVuLu7IzQ0FDNnzpTa15+eno7Vq1fDxcVFbuKuoqIilaQaGRlBQ0OjyImrh4cH+vfvj3379snse1+yZAlq1KgBZ2dnue0V2d4DAHFxcQgJCcG2bduQnZ0NT09PnDp1Ci1btixSvNu2bYOfnx/Cw8PRtWvXQuuXdH5EREREhWHST4iOjka3bt0wZswY9O7dGykpKQAAVVVVSSI/d+5cHD9+HM7Ozli4cCGaNGmCe/fuYcqUKcjKysKqVavKLD4PDw/s2LEDPj4+WLRoEb777juIxWKsWrUKUVFR2LFjR4F3tlFke09sbCy+++47uLq6YvXq1ejWrRtUVVWL3D4sLAw+Pj5YtmwZ7OzsJOdSQ0ND7nUAJZ0fERERUWF49x7CH3/8gXfv3mHevHmoXbu25NGrVy9JnRo1auDcuXNwcnLC8OHD0aBBA7i7u6NBgwa4ePEiLCwsyiw+kUiEiIgIBAYGIigoCA0bNoS9vT3u37+PmJiYfH+ArLgaN26Mx48fIzIyEr169VIo4Qc+3GYzOzsb/v7+UudyzJgxctuU5/yIiIjoyyQSSnKFJBFVSmKxGLq6ukhLS4OOjk5Fh0OVkPkvByo6hAIlzy98ax0RUWVTkv+/udJPRERERKTkmPQTERERESk5XshLREQK4/YZIqLKhSv9RERERERKjkk/EREREZGSY9JPRERERKTkmPQTERERESk5Jv1EREREREqOST8RERERkZJj0k9EREREpOSY9BMRERERKTkm/URERERESo5JPxERERGRkmPST0RERESk5Jj0ExEREREpOSb9RERERERKjkk/EREREZGSY9JPRERERKTkmPQTERERESk5Jv1EREREREqOST8RERERkZJTqegAiIioaMx/OVDRIUgkz+9a0SEQEZECuNJPRERERKTkmPQTERERESk5Jv1EREREREqOST8RERERkZJj0l8IX19f9OzZU6Y8JiYGIpEIr169kpQJgoD169fDzs4OWlpa0NPTQ8uWLbF06VK8e/dOUu/ly5cICAiAmZkZVFVVYWJiAj8/Pzx48KDM55OTk4OgoCA0bdoU6urq0NfXh6urK06fPi1Vb/fu3XB2doahoSF0dHTQtm1bHDlypMzjU1RKSgpGjRoFCwsLqKmpwdTUFG5ubjh+/LhUvTNnzqBLly7Q19eHuro6mjZtit9++w05OTllGp8i7x9le22IiIjo88GkvxQNHDgQAQEB6NGjB6KjoxEfH4+pU6ciMjISR48eBfAh4W/Tpg3+/PNPrF27FklJSQgPD0dSUhJatWqFu3fvFnm84OBg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kTyf28qIiMpbSf7/5ko/EREREZGSY9JPRERERKTkePceIqJKgltqiIiouLjST0RERESk5Jj0ExEREREpOSb9RERERERKjkk/EREREZGSY9JPRERERKTkmPQTERERESk5Jv1EREREREqO9+kn+gIJggDgw895ExERUeWQ9/923v/jimDST/QFev36NQDA1NS0giMhIiIiRb1+/Rq6uroKtREJxfmoQESVWm5uLp48eQJtbW2IRKJyGVMsFsPU1BQPHz6Ejo5OuYxZ3r6EOQKcpzL5EuYIfBnz/BLmCHwZ8yxojoIg4PXr1zAxMUGVKort0udKP9EXqEqVKqhbt26FjK2jo6O0/1Dn+RLmCHCeyuRLmCPwZczzS5gj8GXMU94cFV3hz8MLeYmIiIiIlByTfiIiIiIiJcekn4jKhZqaGqZNmwY1NbWKDqXMfAlzBDhPZfIlzBH4Mub5JcwR+DLmWVZz5IW8RERERERKjiv9RERERERKjkk/EREREZGSY9JPRERERKTkmPQTERERESk5Jv1EREREREqOST8RlZmXL1/Cy8sLOjo60NPTw+DBg/HmzZsC648aNQoNGzaEhoYG6tWrh9GjRyMtLa0co1aMonMEgPXr18PR0RE6OjoQiUR49epV+QSrgFWrVsHc3Bzq6uqws7PDhQsXCqy/Y8cONGrUCOrq6mjatCkOHjxYTpEWnyJzvH79Onr37g1zc3OIRCIsXbq0/AItIUXmuWHDBtjb20NfXx/6+vro2LFjoa/950KRee7evRstW7aEnp4eNDU10axZM4SEhJRjtMWj6N/LPOHh4RCJROjZs2fZBlhKFJlncHAwRCKR1ENdXb0coy0eRV/LV69ewd/fH7Vr14aamhqsra0V/3dWICIqI507dxa+/vpr4dy5c0JsbKxgaWkpeHp6yq1/7do1oVevXkJUVJSQlJQkHD9+XLCyshJ69+5djlErRtE5CoIgBAUFCfPmzRPmzZsnABD++++/8gm2iMLDwwVVVVVh06ZNwvXr14WhQ4cKenp6wrNnz/Ktf/r0aaFq1arCwoULhRs3bghTpkwRqlWrJly7dq2cIy86Red44cIFYfz48cK2bdsEY2NjISgoqHwDLiZF59m/f39h1apVwpUrV4SEhATB19dX0NXVFR49elTOkStG0XlGR0cLu3fvFm7cuCEkJSUJS5cuFapW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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Reaction mechanisms can contains thousands of elementary steps. Choose a threshold\n",
    "# to see only the top few\n",
    "threshold = 0.06\n",
    "\n",
    "# For plotting, collect only those steps that are above the threshold\n",
    "# Otherwise, the y-axis gets crowded and illegible\n",
    "sensitivities_subset = sensitivities[sensitivities[\"base_case\"].abs() > threshold]\n",
    "reactions_above_threshold = (\n",
    "    sensitivities_subset.abs().sort_values(by=\"base_case\", ascending=False).index\n",
    ")\n",
    "sensitivities_subset.loc[reactions_above_threshold].plot.barh(\n",
    "    title=\"Sensitivities at phi - 0.5\", legend=None\n",
    ")\n",
    "plt.gca().invert_yaxis()\n",
    "\n",
    "plt.rcParams.update({\"axes.labelsize\": 20})\n",
    "plt.xlabel(r\"Sensitivity: $\\frac{\\partial\\:\\ln{S_{u}}}{\\partial\\:\\ln{k}}$\");"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "78dd2179",
   "metadata": {},
   "source": [
    "phi = 1.5"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "id": "2d0b4819",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "************ Solving on 8 point grid with energy equation enabled ************\n",
      "\n",
      "..............................................................................\n",
      "Attempt Newton solution of steady-state problem...    failure. \n",
      "Take 10 timesteps     7.119e-06      7.624\n",
      "Attempt Newton solution of steady-state problem...    failure. \n",
      "Take 10 timesteps     0.0001216      4.083\n",
      "Attempt Newton solution of steady-state problem...    failure. \n",
      "Take 10 timesteps     0.0006928      4.726\n",
      "Attempt Newton solution of steady-state problem...    failure. \n",
      "Take 10 timesteps      1.37e-05      6.649\n",
      "Attempt Newton solution of steady-state problem...    failure. \n",
      "Take 10 timesteps     7.802e-05      5.006\n",
      "Attempt Newton solution of steady-state problem...    failure. \n",
      "Take 10 timesteps     0.0008887      4.334\n",
      "Attempt Newton solution of steady-state problem...    failure. \n",
      "Take 10 timesteps       0.01012      3.335\n",
      "Attempt Newton solution of steady-state problem...    failure. \n",
      "Take 10 timesteps     0.0005338      5.194\n",
      "Attempt Newton solution of steady-state problem...    failure. \n",
      "Take 10 timesteps      0.006081      3.655\n",
      "Attempt Newton solution of steady-state problem...    failure. \n",
      "Take 10 timesteps        0.1039       1.99\n",
      "Attempt Newton solution of steady-state problem...    success.\n",
      "\n",
      "Problem solved on [9] point grid(s).\n",
      "Expanding domain to accommodate flame thickness. New width: 0.04 m\n",
      "##############################################################################\n",
      "Refining grid in flame.\n",
      "    New points inserted after grid points 0 1 2 3 4 5 6 7 \n",
      "    to resolve AXC5H10 C2H C2H2 C2H3 C2H3CHO C2H4 C2H5 C2H5O2 C2H6 C3H2 C3H3 C3H4XA C3H4XP C3H5XA C3H5XT C3H6 C3H8 C4H10 C4H6 C4H7 C4H8X1 C5H10X1 C6H12X1 CH CH2 CH2CO CH2GSG CH2O CH2OH CH3 CH3CHO CH3COCH3 CH3O CH3O2 CH3O2H CH3OH CH4 CN CO CO2 CXC8H17 H H2 H2O H2O2 HCCO HCN HCNO HCO HNCO HNO HO2 HOCHO HOCN IXC3H5CHO IXC3H5CO IXC3H6CO IXC3H7 IXC3H7O2 IXC4H10 IXC4H6OH IXC4H7 IXC4H7O IXC4H7OH IXC4H8 IXC4H9 IXC4H9O2 IXC5H9 IXC8H18 N N2 N2O NCO NEOXC5H11 NH NH2 NH3 NO NO2 NXC3H7 NXC3H7O2 O O2 OH PXC4H9O2 T TXC4H9 TXC4H9O2 XXC7H13 YXC7H14 YXC7H15 velocity \n",
      "##############################################################################\n",
      "\n",
      "*********** Solving on 17 point grid with energy equation enabled ************\n",
      "\n",
      "..............................................................................\n",
      "Attempt Newton solution of steady-state problem...    failure. \n",
      "Take 10 timesteps     3.375e-05       5.94\n",
      "Attempt Newton solution of steady-state problem...    failure. \n",
      "Take 10 timesteps     0.0005767      4.701\n",
      "Attempt Newton solution of steady-state problem...    failure. \n",
      "Take 10 timesteps     1.711e-05       6.91\n",
      "Attempt Newton solution of steady-state problem...    failure. \n",
      "Take 10 timesteps     0.0001299      5.236\n",
      "Attempt Newton solution of steady-state problem...    failure. \n",
      "Take 10 timesteps     0.0004932      5.133\n",
      "Attempt Newton solution of steady-state problem...    failure. \n",
      "Take 10 timesteps     2.926e-05      5.938\n",
      "Attempt Newton solution of steady-state problem...    failure. \n",
      "Take 10 timesteps     0.0007499       4.21\n",
      "Attempt Newton solution of steady-state problem...    failure. \n",
      "Take 10 timesteps       0.01281      2.756\n",
      "Attempt Newton solution of steady-state problem...    success.\n",
      "\n",
      "Problem solved on [17] point grid(s).\n",
      "\n",
      "..............................................................................\n",
      "grid refinement disabled.\n",
      "\n",
      "******************** Solving with grid refinement enabled ********************\n",
      "\n",
      "..............................................................................\n",
      "Attempt Newton solution of steady-state problem...    success.\n",
      "\n",
      "Problem solved on [17] point grid(s).\n",
      "\n",
      "..............................................................................\n",
      "##############################################################################\n",
      "Refining grid in flame.\n",
      "    New points inserted after grid points 3 4 5 6 7 8 9 10 12 \n",
      "    to resolve AXC5H10 C2H C2H2 C2H3 C2H3CHO C2H3CO C2H4 C2H5 C2H5O2 C2H6 C3H2 C3H3 C3H4XA C3H4XP C3H5O C3H5XA C3H5XT C3H6 C3H8 C4H10 C4H6 C4H8X1 CH CH2 CH2CCH2OH CH2CO CH2GSG CH2O CH2OH CH3 CH3CHO CH3CO CH3COCH2 CH3COCH3 CH3O CH3O2 CH3O2H CH3OH CH4 CN CO CO2 CXC8H17 H H2 H2CN H2O H2O2 HCCO HCN HCNN HCNO HCO HNCO HNO HO2 HOCHO HOCN IC4H8O2HXT IXC3H5CHO IXC3H5CO IXC3H6CO IXC3H7 IXC3H7O2 IXC4H10 IXC4H6OH IXC4H7 IXC4H7O IXC4H7OH IXC4H8 IXC4H9 IXC4H9O2 IXC5H9 IXC8H18 N N2 N2O NCO NEOXC5H11 NH NH2 NH3 NO NO2 NXC3H7 NXC3H7O2 O O2 OH PXC4H9O2 T TC4H8O2HXI TXC4H9 TXC4H9O TXC4H9O2 XXC7H13 YXC7H14 YXC7H15 velocity \n",
      "##############################################################################\n",
      "\n",
      "..............................................................................\n",
      "Attempt Newton solution of steady-state problem...    failure. \n",
      "Take 10 timesteps     0.0001709      4.803\n",
      "Attempt Newton solution of steady-state problem...    success.\n",
      "\n",
      "Problem solved on [26] point grid(s).\n",
      "\n",
      "..............................................................................\n",
      "##############################################################################\n",
      "Refining grid in flame.\n",
      "    New points inserted after grid points 4 5 6 7 8 9 10 11 12 13 14 \n",
      "    to resolve AXC5H10 C2H C2H2 C2H3 C2H3CHO C2H3CO C2H4 C2H5 C2H5O2 C2H6 C3H2 C3H3 C3H4XA C3H4XP C3H5O C3H5XA C3H5XT C3H6 C3H8 C4H10 C4H6 C4H7 C4H8X1 C5H10X1 C5H9 C6H12X1 CH CH2 CH2CCH2OH CH2CHO CH2CO CH2GSG CH2O CH2OH CH3 CH3CHO CH3COCH2 CH3COCH3 CH3O CH3O2 CH3O2H CH3OH CH4 CN CO CO2 CXC8H17 H H2 H2CN H2O H2O2 HCCO HCN HCNN HCNO HCO HNCO HNO HO2 HOCHO HOCN IC4H8O2HXT IXC3H5CHO IXC3H5CO IXC3H6CO IXC3H7 IXC3H7O2 IXC4H10 IXC4H6OH IXC4H7 IXC4H7O IXC4H7OH IXC4H8 IXC4H9 IXC4H9O2 IXC5H9 IXC8H18 N N2 N2O NCO NEOXC5H11 NH NH2 NH3 NO NO2 NXC3H7 NXC3H7O2 O O2 OH PXC4H9O2 T TXC4H9 TXC4H9O2 XXC7H13 YXC7H14 YXC7H15 velocity \n",
      "##############################################################################\n",
      "\n",
      "..............................................................................\n",
      "Attempt Newton solution of steady-state problem...    failure. \n",
      "Take 10 timesteps     8.543e-05      5.487\n",
      "Attempt Newton solution of steady-state problem...    failure. \n",
      "Take 10 timesteps      0.002189      3.832\n",
      "Attempt Newton solution of steady-state problem...    success.\n",
      "\n",
      "Problem solved on [37] point grid(s).\n",
      "\n",
      "..............................................................................\n",
      "##############################################################################\n",
      "Refining grid in flame.\n",
      "    New points inserted after grid points 8 9 10 11 12 13 14 15 16 17 18 19 20 22 \n",
      "    to resolve AXC5H10 C2H C2H2 C2H3 C2H3CHO C2H3CO C2H4 C2H5 C2H5O2 C2H6 C3H2 C3H3 C3H4XA C3H4XP C3H5O C3H5XA C3H5XT C3H6 C3H8 C4H10 C4H6 C4H7 C4H8X1 C5H10X1 C5H9 C6H12X1 CH CH2 CH2CCH2OH CH2CHO CH2CO CH2GSG CH2O CH2OH CH3 CH3CHO CH3CO CH3COCH2 CH3COCH3 CH3O CH3O2 CH3O2H CH3OH CH4 CN CO CO2 CXC8H17 H H2 H2O H2O2 HCCO HCN HCNO HCO HNCO HNO HO2 HOCHO HOCN IC4H8O2HXT IXC3H5CHO IXC3H5CO IXC3H6CO IXC3H7 IXC3H7O2 IXC4H10 IXC4H6OH IXC4H7 IXC4H7O IXC4H7OH IXC4H8 IXC4H9 IXC4H9O2 IXC5H9 IXC8H18 N N2 N2O NCO NEOXC5H11 NH NH2 NH3 NO NO2 NXC3H7 NXC3H7O2 O O2 OH PXC4H9O2 T TXC4H9 TXC4H9O2 XXC7H13 YXC7H14 YXC7H15 velocity \n",
      "##############################################################################\n",
      "\n",
      "..............................................................................\n",
      "Attempt Newton solution of steady-state problem...    failure. \n",
      "Take 10 timesteps     0.0002563      4.245\n",
      "Attempt Newton solution of steady-state problem...    success.\n",
      "\n",
      "Problem solved on [51] point grid(s).\n",
      "\n",
      "..............................................................................\n",
      "##############################################################################\n",
      "Refining grid in flame.\n",
      "    New points inserted after grid points 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 \n",
      "    to resolve AXC5H10 C2H C2H2 C2H3 C2H3CHO C2H3CO C2H4 C2H5 C2H5O2 C2H6 C3H2 C3H3 C3H4XA C3H4XP C3H5O C3H5XA C3H5XT C3H6 C3H8 C4H10 C4H6 C4H7 C4H8X1 C5H10X1 C5H9 C6H12X1 CH CH2 CH2CCH2OH CH2CHO CH2CO CH2GSG CH2O CH2OH CH3 CH3CHO CH3CO CH3COCH2 CH3COCH3 CH3O CH3O2 CH3O2H CH3OH CH4 CN CO CO2 CXC8H17 H H2 H2O H2O2 HCCO HCN HCNO HCO HNCO HNO HO2 HOCHO HOCN IC4H8O2HXT IXC3H5CHO IXC3H5CO IXC3H6CO IXC3H7 IXC3H7O2 IXC4H10 IXC4H6OH IXC4H7 IXC4H7O IXC4H7OH IXC4H8 IXC4H9 IXC4H9O2 IXC5H9 IXC8H18 N N2 NCO NEOXC5H11 NH NH2 NH3 NO NO2 NXC3H7 NXC3H7O2 O O2 OH PXC4H9O2 T TXC4H9 TXC4H9O2 XXC7H13 YXC7H14 YXC7H15 velocity \n",
      "##############################################################################\n",
      "\n",
      "..............................................................................\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Attempt Newton solution of steady-state problem...    failure. \n",
      "Take 10 timesteps     0.0003844      3.792\n",
      "Attempt Newton solution of steady-state problem...    success.\n",
      "\n",
      "Problem solved on [68] point grid(s).\n",
      "\n",
      "..............................................................................\n",
      "##############################################################################\n",
      "Refining grid in flame.\n",
      "    New points inserted after grid points 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 \n",
      "    to resolve AXC5H10 C2H C2H2 C2H3 C2H3CHO C2H4 C2H5 C2H5O2 C2H6 C3H2 C3H3 C3H4XA C3H4XP C3H5O C3H5XA C3H5XT C3H6 C3H8 C4H10 C4H6 C4H7 C4H8X1 C5H10X1 C6H12X1 CH CH2 CH2CCH2OH CH2CHO CH2CO CH2GSG CH2O CH2OH CH3 CH3CHO CH3CO CH3COCH2 CH3COCH3 CH3O CH3O2 CH3O2H CH3OH CH4 CO CO2 CXC8H17 H H2 H2O H2O2 HCCO HCN HCNO HCO HNCO HO2 HOCHO IC4H8O2HXT IXC3H5CHO IXC3H5CO IXC3H6CO IXC3H7 IXC3H7O2 IXC4H10 IXC4H6OH IXC4H7 IXC4H7O IXC4H7OH IXC4H8 IXC4H9 IXC4H9O2 IXC5H9 IXC8H18 N N2 NCO NEOXC5H11 NH NH2 NH3 NO NO2 NXC3H7 NXC3H7O2 O O2 OH PXC4H9O2 T TXC4H9 TXC4H9O2 XXC7H13 YXC7H14 YXC7H15 velocity \n",
      "##############################################################################\n",
      "\n",
      "..............................................................................\n",
      "Attempt Newton solution of steady-state problem...    success.\n",
      "\n",
      "Problem solved on [94] point grid(s).\n",
      "\n",
      "..............................................................................\n",
      "##############################################################################\n",
      "Refining grid in flame.\n",
      "    New points inserted after grid points 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 \n",
      "    to resolve AXC5H10 C2H C2H2 C2H3 C2H3CHO C2H4 C2H5 C2H5O2 C2H6 C3H2 C3H3 C3H4XA C3H4XP C3H5O C3H5XA C3H5XT C3H6 C3H8 C4H10 C4H6 C4H7 C4H8X1 C5H10X1 C6H12X1 CH CH2 CH2CCH2OH CH2CHO CH2CO CH2GSG CH2O CH2OH CH3 CH3CHO CH3COCH3 CH3O CH3O2 CH3O2H CH3OH CH4 CO CXC8H17 H H2 H2O H2O2 HCCO HCNO HCO HNCO HO2 HOCHO IXC3H5CHO IXC3H6CO IXC3H7 IXC3H7O2 IXC4H10 IXC4H6OH IXC4H7 IXC4H7OH IXC4H8 IXC4H9 IXC4H9O2 IXC5H9 IXC8H18 N2 NEOXC5H11 NH2 NO NXC3H7 NXC3H7O2 O O2 OH T TXC4H9 TXC4H9O2 XXC7H13 YXC7H14 YXC7H15 velocity \n",
      "##############################################################################\n",
      "\n",
      "..............................................................................\n",
      "Attempt Newton solution of steady-state problem...    success.\n",
      "\n",
      "Problem solved on [131] point grid(s).\n",
      "\n",
      "..............................................................................\n",
      "##############################################################################\n",
      "Refining grid in flame.\n",
      "    New points inserted after grid points 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 \n",
      "    to resolve AXC5H10 C2H3 C2H5 C2H5O2 C2H6 C3H2 C3H3 C3H4XA C3H4XP C3H5XA C3H6 C4H6 C4H7 C4H8X1 C5H10X1 CH2 CH2CO CH3 CH3CHO CH3COCH3 CH3O CH3O2 CH3O2H CXC8H17 HCCO HCO HO2 IXC3H6CO IXC3H7 IXC3H7O2 IXC4H10 IXC4H6OH IXC4H7 IXC4H7OH IXC4H8 IXC4H9 IXC4H9O2 IXC5H9 IXC8H18 NXC3H7 NXC3H7O2 O TXC4H9 TXC4H9O2 XXC7H13 YXC7H14 YXC7H15 \n",
      "##############################################################################\n",
      "\n",
      "..............................................................................\n",
      "Attempt Newton solution of steady-state problem...    success.\n",
      "\n",
      "Problem solved on [182] point grid(s).\n",
      "\n",
      "..............................................................................\n",
      "##############################################################################\n",
      "Refining grid in flame.\n",
      "    New points inserted after grid points 56 57 58 59 60 61 64 65 66 67 68 69 70 71 72 73 \n",
      "    to resolve IXC3H7 IXC4H9 TXC4H9 TXC4H9O2 \n",
      "##############################################################################\n",
      "\n",
      "..............................................................................\n",
      "Attempt Newton solution of steady-state problem...    success.\n",
      "\n",
      "Problem solved on [198] point grid(s).\n",
      "\n",
      "..............................................................................\n",
      "no new points needed in flame\n",
      "Flame Speed is: 12.51 cm/s\n"
     ]
    }
   ],
   "source": [
    "# Inlet Temperature in Kelvin and Inlet Pressure in Pascals\n",
    "# In this case we are setting the inlet T and P to room temperature conditions\n",
    "To = 300\n",
    "Po = 101325\n",
    "\n",
    "# Define the gas-mixutre and kinetics\n",
    "# In this case, we are choosing a GRI3.0 gas\n",
    "#gas = ct.Solution(\"gri30.yaml\")\n",
    "gas = ct.Solution('Jerzembeck.yaml')\n",
    "\n",
    "# Create a stoichiometric CH4/Air premixed mixture\n",
    "#gas.set_equivalence_ratio(1.0, \"CH4\", {\"O2\": 1.0, \"N2\": 3.76})\n",
    "gas.set_equivalence_ratio(1.5, 'IXC8H18', 'O2:12.5, N2:47')\n",
    "gas.TP = To, Po\n",
    "\n",
    "# Domain width in metres\n",
    "width = 0.02\n",
    "\n",
    "# Create the flame object\n",
    "flame = ct.FreeFlame(gas, width=width)\n",
    "\n",
    "# Define tolerances for the solver\n",
    "flame.set_refine_criteria(ratio=3, slope=0.1, curve=0.1)\n",
    "\n",
    "# Define logging level\n",
    "loglevel = 1\n",
    "\n",
    "flame.solve(loglevel=loglevel, auto=True)\n",
    "Su0 = flame.velocity[0]\n",
    "print(f\"Flame Speed is: {Su0 * 100:.2f} cm/s\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "id": "7662781c",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>base_case</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2 O + M =&gt; O2 + M</th>\n",
       "      <td>0.006847</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>H2 + O =&gt; H + OH</th>\n",
       "      <td>0.046084</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>H + OH =&gt; H2 + O</th>\n",
       "      <td>-0.005787</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>OH + M =&gt; H + O + M</th>\n",
       "      <td>0.00299</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>H + O + M =&gt; OH + M</th>\n",
       "      <td>0.006984</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                    base_case\n",
       "2 O + M => O2 + M    0.006847\n",
       "H2 + O => H + OH     0.046084\n",
       "H + OH => H2 + O    -0.005787\n",
       "OH + M => H + O + M   0.00299\n",
       "H + O + M => OH + M  0.006984"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Create a dataframe to store sensitivity-analysis data\n",
    "sensitivities = pd.DataFrame(index=gas.reaction_equations(), columns=[\"base_case\"])\n",
    "# Set the value of the perturbation\n",
    "dk = 1e-2\n",
    "for m in range(gas.n_reactions):\n",
    "    gas.set_multiplier(1.0)  # reset all multipliers\n",
    "    gas.set_multiplier(1 + dk, m)  # perturb reaction m\n",
    "\n",
    "    # Always force loglevel=0 for this\n",
    "    # Make sure the grid is not refined, otherwise it won't strictly\n",
    "    # be a small perturbation analysis\n",
    "    # Turn auto-mode off since the flame has already been solved\n",
    "    flame.solve(loglevel=0, refine_grid=False, auto=False)\n",
    "\n",
    "    # The new flame speed\n",
    "    Su = flame.velocity[0]\n",
    "\n",
    "    sensitivities.iloc[m, 0] = (Su - Su0) / (Su0 * dk)\n",
    "\n",
    "# This step is essential, otherwise the mechanism will have been altered\n",
    "gas.set_multiplier(1.0)\n",
    "\n",
    "sensitivities.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "id": "a641bc44",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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Vk18w1HeoqKi8PbtW/G+tbV1hfRTnIKlWhU1RiJZcXkMERGV6Pjx44XOku7btw8AULduXQDADz/8AGVlZUydOlWqviAIePbsmdx9f3yOmpoa6tWrB0EQil3zraWlJfW2muL07t0bWVlZWL9+PQ4cOIBevXqVeI6WlhYAyNRPr169kJeXh+nTp0sdy83NFbfx4sULqWvXuHFjACh2iUzB7PaH52ZnZ2Pp0qWFxi3vcpmEhAScP39evH/v3j3s3LkTHTt2lPkd+fJq3bo1XF1dxVt5Je05OTm4fv26+GYTeD+T/vHa/JycHMycORNqampo3759ufRNVFqcaSciohINHz4cb968Qffu3WFvb4/s7GycPHlSPCPdv39/AO9nk2fMmIGQkBCkpqaiW7du0NHRwe3bt/Hnn39i8ODBGD16tFx9d+zYEaampmjdujVq1KiBpKQkLF68GJ07d4aOjk6R5zk5OWHZsmWYMWMGbGxsYGJigm+//bbI+l9//TVsbGwwYcIEZGVlybQ0pk6dOtDX18fy5cuho6MDLS0tODs746uvvpKq265dOwwZMgTh4eFITExEx44doaqqiuTkZGzZsgW///47vLy8sH79eixduhTdu3dHnTp18PLlS6xatQq6urr47rvvioylVatWMDAwgL+/P4KCgiASiRAZGVnozZaTkxM2b96MkSNHolmzZtDW1oanp2exY61fvz7c3d0RFBQEdXV18c2AIr3K8dKlS+LnElJSUpCRkYEZM2YAABo1aiQeY1paGhwcHODv7y9+r/6uXbswY8YMeHl54auvvsLz58+xadMmXLlyBWFhYTA1Na2UMRGJVdJba4iI6DOyf/9+YcCAAYK9vb2gra0tqKmpCTY2NsLw4cOFx48fS9Xftm2b8M033whaWlqClpaWYG9vLwQGBgo3btwQ12nXrl2hr3L8+FWJK1asENq2bStUr15dUFdXF+rUqSOMGTNGyMjIENcp7JWPjx49Ejp37izo6OgIAMSvavz4lY8fmjBhggBAsLGxKfQ6fPzKR0EQhJ07dwr16tUTVFRUJF7/+PE4CqxcuVJwcnISNDU1BR0dHaFBgwbCL7/8Ijx48EAQBEE4f/684OPjI9SuXVtQV1cXTExMhO+//17idYtF+fvvv4UWLVoImpqagpmZmfjVnB+P99WrV0KfPn0EfX19AUCJr0YEIAQGBgobN24UbG1tBXV1daFJkyZS17DglY9PnjyRKC/s86mIVz4W9FPY9mFft2/flio7d+6c4OnpKZibmwtqamqCtra28M033wgxMTHlGiNRaYkEQc6nQoiIiOiLIhKJEBgYiMWLF1d2KERfLK5pJyIiIiJScEzaiYiIiIgUHJN2IiIiIiIFx7fHEBERUbH4+BtR5eNMOxERERGRgmPSTkRERESk4Lg8hqiKyM/Px4MHD6Cjo1OqP1FOREREn54gCHj58iXMzMygpFT0fDqTdqIq4sGDB7CwsKjsMIiIiKgU7t27h1q1ahV5nEk7URVR8Ofc7927B11d3UqOhoiIiGSRmZkJCwsL8c/xojBpJ6oiCpbE6OrqMmknIiL6zJS0tJUPohIRERERKTgm7URERERECo5JOxERERGRgmPSTkRERESk4Ji0ExEREREpOCbtREREREQKjq98JCKqRFbj9lZ2CEREJIPUmZ0rtX/OtBMRERERKTgm7URERERECo5JOxERERGRgmPSTkRERESk4Ji0K5iAgAB069ZNqjw2NhYikQjp6ekV2v/Jkyfx3XffwcDAABoaGmjQoAF+++035OXlieukpqZi4MCB+Oqrr6CpqYk6depg8uTJyM7OrtDY5JWXl4f58+ejQYMG0NDQgIGBATw8PPD3339/kv737NmDdu3aQUdHB9WqVUOzZs2wbt06iTqpqakQiURITEyUOt/FxQXBwcGfJFYiIiJSbEzaqzCRSITU1FSZ6//5559o164datWqhePHj+P69esYMWIEZsyYAW9vbwiCAAC4fv068vPzsWLFCly9ehXz58/H8uXLMX78+HKL/d27d3jy5EmpzxcEAd7e3pg2bRpGjBiBpKQkxMbGwsLCAi4uLtixY4fMbRUk1vJYtGgRunbtitatW+P06dO4dOkSvL29MXToUIwePVrO0RAREdGXjq98JADA69evMWjQIHTp0gUrV64Ul//444+oUaMGunTpgpiYGPTu3RudOnVCp06dxHWsra1x48YNLFu2DHPnzi2XeB4/fgxbW1t899138Pf3x/fffw9VVVWZz4+JicHWrVuxa9cueHp6istXrlyJZ8+e4ccff4Sbmxu0tLTKJd4P3bt3D6NGjUJwcDDCwsLE5aNGjYKamhqCgoLQs2dPODs7l3vfREREVDVxpp0AAIcOHcKzZ88KnQX29PSEnZ0d/vjjjyLPz8jIgKGhYbF9eHh4QFtbu8jN0dFRXNfS0hIJCQmwtLTEkCFDULNmTQQFBeGff/6RaTybNm2CnZ2dRMJeYNSoUXj27BkOHz4sU1vy2rp1K3Jycgq9lkOGDIG2tnax11JWWVlZyMzMlNiIiIioauJMuwLas2cPtLW1Jco+XFNeEW7evAkAcHBwKPS4vb29uM7HUlJSsGjRohJn2VevXo23b98WefzjmXQnJyc4OTlh3rx52L9/PzZs2IDWrVvD1tYW/v7+6Nu3L2rUqFHkeIoaS0F5UeMpq5s3b0JPTw81a9aUOqampgZra2upvlu1agUlJcl76Ldv36Jx48ZF9hMeHo6pU6eWS8xERESk2Ji0K6D27dtj2bJlEmWnT5+Gn59fsed5eHggPj5eoszR0VG8HtvS0hJXr14tto2CdeuySktLQ6dOndCzZ08MGjSo2Lrm5uZytV1ARUUFnp6e8PT0xMOHD9GvXz+MGTMG9+/fx4IFC4o8T96xfMjR0RF37tyRaOfDG6k2bdpg//79pW7/Y5s3b5a6yfD19S32nJCQEIwcOVK8n5mZCQsLi3KLiYiIiBQHk3YFpKWlBRsbG4my+/fvl3jexzPZtra22LdvnzhZLm5NuJ2dHQAgKSkJrVq1kjqelJSEevXqSZQ9ePAA7du3R6tWrSTWwRelsJuKDxV1UyEIAuLj4xEZGYktW7bAwMAAkyZNwsCBA4sdT1JSUqHHCsoLxlyYffv2IScnB8D7GxMXFxeJN7xoamoW23dGRgYePHgAMzMziWPZ2dn4999/0b59e4lyCwsLqc+8uD4AQF1dHerq6sXWISIioqqBSXsVUthMtqWlJaysrEo8t2PHjjA0NMS8efOkkvZdu3YhOTkZ06dPF5elpaWhffv2cHJyQkREhNTSjsLIuzzm5s2biIyMxMaNG/H06VN4eXlhx44daNeuXYlvc/H29kafPn2we/duqXXt8+bNQ/Xq1eHm5lbk+ZaWluKvVVTe/zP5OKkuSo8ePTB27FjMmzcP8+bNkzi2fPlyvH79Gj4+PjK1RURERAQwaaf/T0tLCytWrIC3tzcGDx6Mn376Cbq6ujh69CjGjBkDLy8v9OrVC8D/zTxbWlpi7ty5Eq9mNDU1LbIPeZbH3L17Fw4ODnBxccHUqVPRo0cPud704u3tjS1btsDf3x9z5sxBhw4dkJmZiSVLlmDXrl3YsmVLhbw5BgBq166N2bNnY9SoUdDQ0EDfvn2hqqqKnTt3Yvz48Rg1ahTfHENERERyYdJOYl5eXjh+/DhCQ0PRpk0bvHv3Dra2tpgwYQKCg4PFs9uHDx9GSkoKUlJSUKtWLYk2yrKO/ENGRka4ffs2ateuXarzRSIRYmJisGDBAsyfPx/Dhg2DhoYGWrZsidjYWLRu3bpc4ixKcHAwrK2tMXfuXPz+++/Iy8uDo6Mjli1bhv79+1do30RERFT1iITyyrKIqFJlZmZCT08PGRkZ0NXVrexwSEZW4/ZWdghERCSD1JmdK6RdWX9+8z3tREREREQKjkk7EREREZGC45p2IqJKVFG/biUioqqFM+1ERERERAqOSTsRERERkYJj0k5EREREpOCYtBMRERERKTgm7URERERECo5JOxERERGRgmPSTkRERESk4Ji0ExEREREpOCbtREREREQKjkk7EREREZGCY9JORERERKTgmLQTERERESk4Ju1ERERERAqOSTsRERERkYJj0k5EREREpOCYtBMRERERKTgm7URERERECo5JOxERERGRglOp7ACISPFZjdtb2SFUWakzO1d2CERE9BngTDsRERERkYJj0k5EREREpOCYtBMRERERKTgm7URERERECo5J+yfy7NkzmJiYIDU19ZP0N27cOAwfPvyT9PUl6Nu3L8LCwj5JX9euXUOtWrXw+vXrT9IfERERKb5PlrQ/evQIw4cPh7W1NdTV1WFhYQFPT08cPXpUXMfKygoLFiyQOnfKlClo3LixeH/79u1o2rQp9PX1oaWlhcaNGyMyMrJC41+3bh309fULPSYSibBjx45izw8NDUXXrl1hZWVVqv6nTJkCkUiETp06SR2bM2cORCIRXFxcxGWjR4/G+vXrcevWrVL1pygyMzMxYcIE2NvbQ0NDA6ampnB1dcX27dshCAIAwMXFBcHBwVLnFveZ/f3331BRUZH4virKxYsXsW/fPgQFBZVqDKmpqRCJRFBWVkZaWprEsYcPH0JFRQUikUh8Q1evXj20aNECv/32W6n6IyIioqrnkyTtqampcHJywrFjxzBnzhxcvnwZBw4cQPv27REYGCh3e4aGhpgwYQISEhJw6dIl9O/fH/3798fBgwdlbmPKlCkICAiQu+/SePPmDdasWYOBAwcW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Sshr165JvB7SxMRE4qZARUUF5ubmMn1+AwYMwLBhw0p8s8+VK1fg5eVVYntERERU9VV40g4AS5YsQevWrdG8eXNMmzYNDRs2RG5uLg4fPoxly5YhKSlJrvbCw8PRtGlT1KlTB1lZWdi3bx8iIyPL/HrDiuLu7o6QkBC8ePECBgYG5dLmsWPHkJOTU+wNT3x8PNq0aVPomvGPKSkpoWPHjujYsSMyMzMRExOD9evXY8qUKXjx4oU4GZfnJmfjxo0YMmQIunfvjpiYmCLXyRclNDQUsbGxcHZ2RmhoKJo2bQpVVVXEx8cjPDwcZ8+elfmGT0lJCfXr15coMzExgYaGhlT5h4yNjfH111/jxIkTMr3TXRaDBg1Cz549i409NTUVaWlpcHV1LZc+iYiI6PP2SZJ2a2trnD9/HqGhoRg1ahQePnwIY2NjODk5lSrRfv36NYYNG4b79+9DU1MT9vb22LhxI3r37l0B0ZddgwYN8PXXXyMmJgZDhgwplzYLexPPx6KjozFlyhS529bV1cWPP/6IH3/8Ef/++69MSX9hOnTogEePHhW5zKckhoaGOHXqFGbOnIkZM2bgzp07MDAwQIMGDTBnzhyJt9pUpB9//BEbNmwQL6spKxUVFRgZGRVb548//kDHjh1haWlZLn0SERHR500kyPvEH5XK3r17MWbMGFy5ckWu2ebS2r9/P0aNGoVLly6V6tWI9H/evn2LunXrYvPmzTK9272ssrOzYWtri02bNqF169Yyn5eZmQk9PT1kZGSU+kapKFbj9pZre/R/UmdK/40FIiL6csj685vZ3CfSuXNnJCcnIy0t7ZO8lu/169eIiIhgwl4ONDU1sWHDBjx9+vST9Hf37l2MHz9eroSdiIiIqjbOtBNVERU5005EREQVQ9af3xW/ToOIiIiIiMqESTsRERERkYJj0k5EREREpOCYtBMRERERKTgm7URERERECo5JOxERERGRgmPSTkRERESk4Ji0ExEREREpOCbtREREREQKjkk7EREREZGCY9JORERERKTgmLQTERERESk4Ju1ERERERAqOSTsRERERkYJj0k5EREREpOCYtBMRERERKTgm7URERERECo5JOxERERGRglOp7ACI6PNhNW5vZYdQ5aTO7FzZIRAR0WeAM+1ERERERAqOSTsRERERkYJj0k5EREREpOCYtBMRERER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XUKfPn3KM0wiIiKqAr6INe2y6NWrF3r37g0fHx+EhYXh3LlzuHPnDvbs2QNXV1ccP34cABAWFgZTU1O4ublh//79uHfvHuLi4uDu7o6cnBwsWbLkk8U8ffp0PHnyBO7u7jKfY25uDhsbmyI3S0tLcd27d+/CwcEBJ0+exNSpU/Ho0SNERETAxcVFpvfBf47XtDIdO3YMDx8+lJrxJyIiIuJM+/8nEomwadMmrFy5EmvXrkVoaChUVFRga2uLfv36iRPj6tWr49SpU5g2bRqGDBmCR48ewdDQEB4eHti4ceMnfbe2mpoajIyMKqx9IyMj3L59u9Rj+hyvaWXS0tKq7BCIiIhIQYmE0j4BSEQKpWC5UUZGBnR1dSs7HJKR1bi9lR2CWOrMzpUdAhHRF0fWn99cHkNEREREpOCYtBMRERERKTiuaSciqkRckkJERLLgTDsRERERkYJj0k5EREREpOCYtBMRERERKTgm7URERERECo5JOxERERGRgmPSTkRERESk4Ji0ExEREREpOCbtREREREQKjkk7EREREZGCY9JORERERKTgmLQTERERESk4Ju1ERERERAqOSTsRERERkYJj0k5EREREpOCYtBMRERERKTgm7URERERECo5JOxERERGRgmPSTkRERESk4FQqOwAiospkNW5vpfafOrNzpfZPRESfB860ExEREREpOCbtREREREQKjkk7EREREZGCY9JORERERKTgqmzS/ujRIwwfPhzW1tZQV1eHhYUFPD09cfToUXEdKysrLFiwQOrcKVOmoHHjxuL97du3o2nTptDX14eWlhYaN26MyMjICo1/3bp10NfXL/SYSCTCjh07JMqOHz+O7777DtWrV0e1atVQr149jBo1CmlpaeI6eXl5mD9/Pho0aAANDQ0YGBjAw8MDf//9dwWOpHSys7Mxe/ZsNGrUCNWqVYORkRFat26NiIgI5OTkAAACAgLQrVs3qXNjY2MhEomQnp4udSwlJQU6OjpFXtvytm3bNri4uEBPTw/a2tpo2LAhpk2bhufPn4vrvH37FpMnT4adnR3U1dVhZGSEnj174urVq58kRiIiIlJ8VTJpT01NhZOTE44dO4Y5c+bg8uXLOHDgANq3b4/AwEC52zM0NMSECROQkJCAS5cuoX///ujfvz8OHjwocxtTpkxBQECA3H3LYsWKFXB1dYWp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5ptvMGLECPz888/YuXMnPD09MW/ePDg7O+Px48cICwtDUlISjhw5wjfHEBERUdVM2q2trXH+/HmEhoZi1KhRePjwIYyNjeHk5FSqRPv169cYNmwY7t+/D01NTdjb22Pjxo3o3bt3BUQvv2HDhsHOzg5z585F9+7d8fbtW1hZWeH7778Xr3kWiUSIiYnBggULMH/+fAwbNgwaGhpo2bIlYmNj0bp163KLp169ekhLS4OxsXGpzldXV8fhw4cxf/58rFixAqNHj0a1atXg4OCAoKCgCk22y9OsWbPg5OSEJUuWYPny5cjPz0edOnXg5eUFf39/AICGhgaOHTuGsLAwjB8/Hnfu3IGOjg7at2+PU6dOfTZjJSIiooolEsrydCIRKYzMzEzo6ekhIyPjk70lpyqwGre3UvtPndm5UvsnIqLKJevP7yr3nnYiIiIioqqGSTsRERERkYKrkmvaiYhkxeUpRET0OeBMOxERERGRgmPSTkRERESk4Ji0ExEREREpOCbtREREREQKjkk7EREREZGCY9JORERERKTgmLQTERERESk4Ju1ERERERAqOSTsRERERkYJj0k5EREREpOCYtBMRERERKTgm7URERERECo5JOxERERGRgmPSTkRERESk4Ji0ExEREREpOCbtREREREQKjkk7EREREZGCY9JORERERKTgVCo7ACKiL5nVuL2V1nfqzM6V1jcREcmHM+1ERERERAqOSTsRERERkYJj0k5EREREpOCYtBMRERERKTi5k/ZHjx5h+PDhsLa2hrq6OiwsLODp6YmjR4+K61hZWWHBggVS506ZMgWNGzcW769atQpt2rSBgYEBDAwM4OrqijNnzkidl5KSggEDBqB27dpQV1eHubk5OnTogKioKOTm5orr/fXXX/j2229haGiIatWqwdbWFv7+/sjOzhbXEQQBq1atQsuWLaGrqwttbW04OjpixIgRSElJkfdyyG39+vVo1qwZqlWrBh0dHbRr1w579uyRqBMbG4uuXbuiZs2a0NLSQuPGjREVFVXhsckrMzMTEyZMgL29PTQ0NGBqagpXV1ds374dgiCI6129ehW9evWCsbEx1NXVYWdnh0mTJuHNmzcVGt/H328FUlNTIRKJkJiYWKH9yzpuWf+9EBER0ZdLrqQ9NTUVTk5OOHbsGObMmYPLly/jwIEDaN++PQIDA+Xu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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Reaction mechanisms can contains thousands of elementary steps. Choose a threshold\n",
    "# to see only the top few\n",
    "threshold = 0.0493\n",
    "\n",
    "# For plotting, collect only those steps that are above the threshold\n",
    "# Otherwise, the y-axis gets crowded and illegible\n",
    "sensitivities_subset = sensitivities[sensitivities[\"base_case\"].abs() > threshold]\n",
    "reactions_above_threshold = (\n",
    "    sensitivities_subset.abs().sort_values(by=\"base_case\", ascending=False).index\n",
    ")\n",
    "sensitivities_subset.loc[reactions_above_threshold].plot.barh(\n",
    "    title=\"Sensitivities at phi - 1.5\", legend=None\n",
    ")\n",
    "plt.gca().invert_yaxis()\n",
    "\n",
    "plt.rcParams.update({\"axes.labelsize\": 20})\n",
    "plt.xlabel(r\"Sensitivity: $\\frac{\\partial\\:\\ln{S_{u}}}{\\partial\\:\\ln{k}}$\");"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "614e076c",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
